Я хочу добавить подменю к пункту меню динамически. Как я могу этого добиться?
Я пробовал вот так, создал действие и подменю. Затем я добавил подменю к действию. Но, я подключил «сработавший» сигнал действия. он вылетает, если я нажимаю на действие ..
Я также обработал сигнал «aboutToShow» в меню, он также вылетал, когда я нажимаю на действие.
Вот код сампе.
Submenu = new QMenu(this);
connect(Submenu, SIGNAL( aboutToShow()), this, SLOT(move ()));
QAction *test = new QAction(tr("Selection"), this);
test ->setMenu(Submenu);
menubar()->addAction(test);
Я хочу получить уведомление до отображения подменю ..
дополнительная информация:
пожалуйста, попробуйте этот код в конструкторе главного окна.
QAction *action = new QAction("Test",this);
QAction *dummyaction = new QAction("Testing",this);
QMenu *menu = new QMenu();
menu->addAction(dummyaction);
bool val= connect(menu, SIGNAL( aboutToShow()), this, SLOT( Move()));
val= connect(menu, SIGNAL( aboutToHide()), this, SLOT(Move()));
action->setMenu(menu);
this->menuBar()->addAction(action);
если мне это нравится, я могу увидеть один элемент подменю. Но перед этим слот Move должен вызвать, он не будет вызван .. и даже до hide также должен позвонить тот же слот .. его не будет ..
Я пробовал возвращаемые значения connect ... это только правда ... так что не так с моим кодом ... скажите, пожалуйста ..