QMenu::addAction does not work when called inside a specific if-clause
I encountered a very strange problem:
if( currentWidgetType_m == WidgetTypesMap ) {
qDebug() << "Here we are!";
optionsMenu_mp->addAction( tr( "Change visibility" ),
this, SLOT( VisibleItemClicked() ) );
optionsMenu_mp->addSeparator();
}
optionsMenu_mp->addAction( tr( "Change statistics" ),
this, SLOT( StatisticsItemClicked() ) );
optionsMenu_mp->addAction( tr( "Change view" ),
this, SLOT( ViewItemClicked() ) );
The condition is true in this case and the debug message shows in the output, but the "Change visibility" action does not ap开发者_如何学Pythonpear in the menu.
Any ideas what might be causing this?
Best regards
The problem was caused by the QMenu not updating. I solved the problem by recreating the QAction that held the QMenu.
精彩评论