所以我有这样的菜单栏:
this->layout = new QGridLayout;
QMenuBar* menuBar = new QMenuBar();
QMenu *fileMenu = new QMenu("File");
menuBar->addMenu(fileMenu);
fileMenu->addAction("Exit");
this->layout->setMenuBar(menuBar);
我很奇怪如何将动作"Exit"
与我QWidget
的某个插槽联系起来,我尝试过这样的事情:
connect(menuBar,SIGNAL(menuBar->actions),this,SLOT(exitGame()));
但它不起作用,你能告诉我我做错了什么吗?是的,我已阅读有关QMenuBar芽的手册,没有连接的例子。我已经阅读了Qt Designer中的一些连接,但我没有使用它。
答案 0 :(得分:1)
您需要将从QAction
返回的QMenuBar::addAction
指针连接到插槽...
auto *exit_action = fileMenu->addAction("Exit");
connect(exit_action, &QAction::triggered,
[this](bool checked)
{
exitGame();
});