如何在Qt Creator中连接菜单点击操作?

时间:2010-04-28 02:04:46

标签: qt menu action

我是Qt的新手。

我开始使用新的Qt4 GUI应用程序。

使用设计器,我创建了一个如下菜单:

File
 - Exit

如何获得与菜单项关联的操作?

我发现了一些名为“信号和插槽编辑器”但却不知道如何使用它。

4 个答案:

答案 0 :(得分:47)

选择信号插槽编辑器后,单击绿色加号。它将为您提供4个字段来填写。对于发件人,您可以选择创建信号的内容。例如,ActionExit可能是您为退出菜单项创建的名称。信号可能会被点击()。接收器通常是您创建的具有所有方法的类。插槽是您在该类中创建的要执行的方法。例如:

actionExit clicked() <nameOfClass> exitGame()

希望这有帮助。

答案 1 :(得分:41)

我设法以一种似乎更容易的方式做到了这一点。在Qt Creator Action Editor窗口中,我看到了我单击的菜单项的条目。我单击该条目并选择“转到插槽...”然后从弹出窗口中选择triggered()并单击“确定”。 Qt Creator跳转到我刚添加的代码....我在那里放了一个qDebug语句,它有效!

答案 2 :(得分:4)

转到插槽编辑器,然后单击bottem左侧的“操作编辑器”选项卡。列出了所有菜单操作。

右键单击 - &gt;转到Slot提供了一个插槽功能。

答案 3 :(得分:0)

在这个很棒的论坛上,我已经看到2个可能是3个这样的问题,但是每个问题都很令人困惑,不需要去告诉信号/插槽创建者刚刚获得Qt Designer并按照以下步骤进行操作

1.add菜单和菜单栏上的操作,并在mainwindow.h文件的插槽中添加任何功能,如下所示 private slots: void help();

2。接下来在您的mainwindow.cpp中添加以下代码。

connect(ui->actionmyactions, SIGNAL(triggered()), this, SLOT(help()));

3。也可以使用以下代码对菜单进行相同操作:

connect(ui->menuHelp, SIGNAL(aboutToShow()), this, SLOT(help()));

4。无需按照以下说明进入Qt Designer,即可获得所需的结果。

  1. 在mainwindow.h中声明您的操作,如下所示

    QAction *myaction;

  2. ,然后在您的mainwindow.cpp中添加以下代码

    myaction = ui->mainToolBar->addAction("help"); connect(myaction, SIGNAL(triggered()), this, SLOT(help()));