2017-05-08 127 views
0

所以,我有菜單欄是這樣的:Qt的 - 連接菜單欄和QWidget的

this->layout = new QGridLayout; 
QMenuBar* menuBar = new QMenuBar(); 
QMenu *fileMenu = new QMenu("File"); 
menuBar->addMenu(fileMenu); 
fileMenu->addAction("Exit"); 
this->layout->setMenuBar(menuBar); 

而且我wonderig如何thie行動"Exit"一些插槽我QWidget連接,我tryed是這樣的:

connect(menuBar,SIGNAL(menuBar->actions),this,SLOT(exitGame())); 

但它不工作,你能告訴我我做錯了什麼嗎?是的,我已閱讀有關QMenuBar芽手冊有沒有連接的例子。我已經閱讀了關於Qt Designer中的一些連接,但我沒有使用它。

回答

1

您需要從QMenuBar::addAction到槽返回QAction指針連接...

auto *exit_action = fileMenu->addAction("Exit"); 
connect(exit_action, &QAction::triggered, 
     [this](bool checked) 
     { 
      exitGame(); 
     }); 
+0

驚人的感謝! – nocturne