我对Qt完全不熟悉.
我开始使用新的Qt4 GUI应用程序.
使用设计器,我创建了一个菜单,如下所示:
File
- Exit
Run Code Online (Sandbox Code Playgroud)
如何获取与菜单项关联的操作?
我发现了一些名为"信号和插槽编辑器"但却不知道如何使用它的东西.
Isa*_*tto 48
选择信号插槽编辑器后,单击绿色加号.它将为您提供4个字段来填写.对于发件人,您可以选择创建信号的内容.例如,ActionExit可能是您为退出菜单项创建的名称.信号可能会被点击().接收器通常是您创建的具有所有方法的类.插槽是您在该类中创建的要执行的方法.例如:
actionExit clicked() <nameOfClass> exitGame()
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
小智 41
我设法以一种似乎更容易的方式做到这一点.在Qt Creator Action Editor窗口中,我看到了我单击的菜单项的条目.我单击该条目并选择"转到插槽..."然后从弹出窗口中选择triggered()并单击"确定".Qt Creator跳转到我刚刚添加的代码....我在那里放了一个qDebug语句,它有效!
我在这个很棒的论坛上看到过 2 可能是 3 种这样的问题,但每个问题都非常令人困惑,没有必要去信号/槽创建器,只需获取 Qt Designer 并按照以下步骤操作
1.在菜单栏上添加菜单和操作,并在 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即可获得所需的结果,如下所示。
在 mainwindow.h 中声明您的操作,如下所示
QAction *myaction;
并在 mainwindow.cpp 中添加以下代码
myaction = ui->mainToolBar->addAction("help");
connect(myaction, SIGNAL(triggered()), this, SLOT(help()));
归档时间: |
|
查看次数: |
60966 次 |
最近记录: |