동적으로 빌드 된 여러 메뉴 항목이있는 QMenu
이 있습니다.QMenu 작업 및 인수 전달
이 목적을 위해 이름과 액션 (메뉴 항목에 도달하면 취할 필요가 있음)을 포함하는 메뉴 항목 컬렉션을 반복하고 컨텍스트 메뉴에 계속 추가합니다. 모든 메뉴 항목은 을 공통 슬롯에 연결해야합니다.
하지만 어떻게 든 트리거 동작이 발생하지 않습니다. 즉, connect 문에 도달했지만 컨트롤이 지정된 SLOT으로 전달되지 않으면 아무런 작업도 수행되지 않습니다.
for (int i=0; i<Action_List.size();i++)
{
tempAct1 = Action_List.at(i); //Action List has the list of Actions
Context_Menu->addAction(tempAct1);
}
if (Context_Menu!=NULL) {
Context_Menu->exec(QCursor::pos());
int r = connect(Context_Menu, SIGNAL(triggered(QAction *)),
this, SLOT(SPlusCommand(QAction *)));
}
int P14MainWindow::SPlusCommand (QAction* Action)
{
QVariant tempstr = Action->data();
QString Qs = tempstr.toString();
return QPwLocalClient::ExecuteCommand(Qs);
}
아무에게도 내가 잘못하고 있다고 말할 수 있습니까?
고마워요. 그 말이 맞았습니다. – user1173240