2017-05-08 1 views
0

그래서 나는이 같은 메뉴 모음이 연결 :Qt는의 도구 모음과는 QWidget

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

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

을 그리고 좀 슬롯 내 QWidget와 THIE 액션 "Exit"을 연결하는 방법을 wonderig하고,이 같은 일을 tryed

하지만 작동하지 않습니다. 내가 잘못하고있는 것을 말해 줄 수 있습니까? 그리고 예 QMenuBar 버드에 대한 매뉴얼을 읽었습니다. 연결 예제가 없습니다. Qt Designer에서 몇 가지 연결에 대해 읽었지만 사용하지는 않습니다.

답변

1
당신은 슬롯 QMenuBar::addAction에서 반환 된 QAction 포인터를 연결해야

...

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

놀라운 감사합니다! – nocturne