QMenu::addAction does not work when called inside a specific if-clause
Question
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 appear in the menu.
Any ideas what might be causing this?
Best regards
Solution
The problem was caused by the QMenu not updating. I solved the problem by recreating the QAction that held the QMenu.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow