В программе Qt у меня есть класс QWidget
, который является суперклассом другого класса, объявленного так:
class Renderer : public QGLWidget
{
Q_OBJECT
....
}
class A : public Renderer
{ .... }
Теперь у меня есть слот для класса A, которого нет в Renderer
, но когда я пытаюсь запустить программу, она не может установить соединение с классом A:
Object::connect: <sender name: 'push_button'>
Object::connect: <receiver name: 'A'>
Object::connect: No such slot Renderer::loadDialog() in <file path>
Почему он пытается подключиться к Renderer, а не к A? Должен ли я иметь слот в Renderer с таким же именем?
Спасибо
редактирование:
вот объявление слота в A:
public slots:
void loadDialog();
и что касается соединений, я в основном полагаюсь на Qt Creator, но вот что было в файле ui_windows.h:
QObject::connect(pushButton, SIGNAL(clicked()), A, SLOT(loadDialog()));
Надеюсь, это немного прояснит:)