Я программирую на C ++ и Qt Creator, и мой код работает отлично. Тем не менее у меня проблема в том, что я получаю предупреждение при компиляции своего кода.
QMetaObject::connectSlotsByName: No matching signal for on_but_PrintTab_clicked()
Раньше был слот с именем on_but_PrintTab_clicked (), но это больше не существует. Как я могу избавиться от этого предупреждения?
Eсть connect()
позвоните куда-нибудь в вашем вызове, который пытается подключиться к on_but_PrintTab_clicked
, Просто найдите «on_but_PrintTab_clicked» и удалите это connect()
вызов.
Qt механизм автоподключения пытается подключить сигналы к слотам объектов в виде:
void on_<object name>_<signal name>(<signal parameters>);
Так вот, он пытается найти объект с именем but_PrintTab
который имеет clicked
сигнал для подключения к вашему слоту. Но такого нет, и он выдает это предупреждение.
Если у вас есть такой слот, вы должны изменить его имя на другое, чтобы избежать этого предупреждения.
Если кнопка и слот больше не существуют, попробуйте снова запустить qmake для вашего проекта, и это будет решено.
Либо измените имя функции, либо вместо объявления функции в открытых / закрытых слотах объявите ее как открытую или закрытую.