【发布时间】:2014-07-27 15:19:31
【问题描述】:
我有一个 MyClass 类:
- private:
pushButton *button;
void connectSignalAndSlot();
- private slot:
void buttonAction();
我想在 MyClass 中使用 connectSignalAndSlot() 连接这些,如下所示:
void MyClass::connectSignalAndSlot()
{
QObject::connect(button,SIGNAL(clicked()),this,SLOT(buttonAction()));
}
这给了我一个错误
no matching function for call to 'QObject::connect(QPushButton*&, const char*, MyClass* const, const char*)';
如果我使用 MyClass 继承 QObject,程序会编译并启动,但随后会在我的应用程序输出窗格中显示以下问题:
QObject::connect: No such slot QObject::buttonAction() in ..\MyProject\myclass.cpp:48
我是否必须公开按钮和插槽并仅在 MainWindow 类中使用它们?有没有办法将其保留在 MyClass 级别?
感谢您的帮助!
【问题讨论】:
标签: c++ qt signals-slots