J'utilise C++ et QT4 sous Linux. Je souhaite ajouter des éléments à la barre de menus lors de l'exécution. Mon interface graphique principale contenant la barre de menus a été conçue avec QT Designer et installée dans la première ligne de code ci-dessous.Menu dynamique QT4 en C++
Dans mon constructeur de fenêtre principale, j'ai le code de test suivant et il compile bien. Cependant, la nouvelle barre de sous-menu et son élément n'apparaissent pas lorsque le programme est exécuté. Je devine que Qt doit être dit de mettre à jour la barre de menus d'une manière ou d'une autre. Des idées?
// Setup the user interface m_ui.setupUi(this); QMenu * iObjectsMenu = new QMenu(tr("Objects"), m_ui.menubar); //m_ui.menubar.menu_View->addMenu(tr("Objectz")); QAction * menu_testAction = new QAction(tr("Test"), m_ui.menubar); iObjectsMenu->addAction(menu_testAction);
Définition QMenuBar en tant que parent ne pas ajouter le menu à elle (bien, pas de la façon dont vous vous attendiez). Il suffit d'ajouter un menu à la hiérarchie, donc quand QMenuBar est supprimé, votre menu aussi. Ajoutez simplement votre nouveau menu à votre barre de menu –
Pourquoi avez-vous écrit //m_ui.menubar.menu_View->addMenu(tr("Objectz ")) ;? – graphite