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);
}
誰かが私がこれでどこが間違っているのか教えてもらえますか?