我尝试使用 Qt 5.3 编写程序,并尝试使用信号和插槽作为练习。我写了以下代码(部分代码):
void exitToWin()
{
exit(0);
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
QMessageBox EndBox;
QObject::connect((EndBox.button(QMessageBox::Ok)),SIGNAL(clicked()),exitToWin);
w.show();
EndBox.show();
return a.exec();
}
我什至将函数的声明更改为,并在编写命令static
时检查了带括号和不带括号的表达式。connect
但是尽管 Qt 记录了什么以及它的 IDE 引导了什么。我也在这里阅读 并对其进行了测试。
此外,我尝试使用 lambda 表达式,如下所示:
QObject::connect((EndBox.button(QMessageBox::Ok)),SIGNAL(clicked()),[=](){
exit(0);
});
但我仍然收到错误提示“没有匹配的函数调用”。
毕竟我不得不说我使用的是 Microsoft Windows 7。