QT-菜单的退出选项

时间:2013-08-02 20:05:12

标签: c++ qt

我终于要完成我的学校项目,并认为在我的下拉菜单中有一个退出选项很好,但无论我尝试什么,我都无法使其工作。如果你可以在业余时间看一下它,我会非常感兴趣(或者你可能有任何建议)

void MainWindow::on_actionExit_triggered()
{
    connect(this,SIGNAL(triggered()),MainWindow,SLOT(close()));
} 

每次我尝试调试它时,都会显示以下错误消息:

  

错误:在','标记

之前预期的primary-expression

干杯:Ryseth

1 个答案:

答案 0 :(得分:10)

  1. 您需要将对象指针传递给connect函数,而不是类名。您应该将MainWindow替换为this。它将修复编译错误。

  2. connect语句放在类构造函数中会更明智。如果您希望在用户按下菜单项时随时工作,则需要在初始化时执行connect

  3. on_actionExit_triggered有特殊的名称形式。创建具有此类名称的广告位后,Qt会自动将其连接到triggered操作的actionExit位置(有关详情,请参阅Automatic Connections)。因此根本不需要connect声明。

  4. 当用户按下菜单项时,将调用on_actionExit_triggered个插槽。当然你需要在其中加入一些实现。例如:

    void MainWindow::on_actionExit_triggered() {
        QApplication::quit();
    }