У меня есть QMenu
, который имеет несколько элементов меню, построенных динамически.Работа с QMenu и передачей аргументов
С этой целью я перебираю элементы меню, содержащие имя и действие (которые нужно было бы предпринять, если элемент меню был удален) и продолжайте добавлять их в контекстное меню. Все пункты меню должны быть подключены к общему разъему.
Но каким-то образом действие триггера не происходит. т. е. достигается оператор соединения, но элемент управления не переходит в указанный 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