没有调用myslot。 MyPage是QWizardPage。
MyPage::initializePage()
{
connect(this,SIGNAL(mysignal), this,SLOT(myslot()));
emit mysignal();
}
void ProgressPage::myslot(){
cout<<"in ";
}
我的标题文件包含以下信号和插槽,
public slots:
void myslot();
signals:
void mysignal();
我错过了什么?我的调试器执行直到发出,但无法进入插槽。
答案 0 :(得分:5)
正确的connect
应为:
connect(this, SIGNAL(mysignal()), this, SLOT(myslot()));
您错过了信号签名中的括号。同样,this
接收器隐含在非静态connect
中,可以省略。您调用的connect
是静态方法。
答案 1 :(得分:3)
确保包含信号和广告位的班级使用Q_OBJECT
宏:
class MyPage {
Q_OBJECT
//...
}
再次运行qmake。
答案 2 :(得分:1)
你在“mysignal”信号之后错过了“()”。