Я пытался написать программу, используя 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. также я прочитал здесь и я проверил это.
Более того, я попытался использовать лямбда-выражение, как показано ниже:
QObject::connect((EndBox.button(QMessageBox::Ok)),SIGNAL(clicked()),[=](){
exit(0);
});
но все же я получаю сообщения об ошибках, указывающие на «Нет соответствующего вызова функции».
И в конце концов я должен сказать, что я использую Microsoft Windows 7.