Sto costruendo un piccolo programma in Qt con le barre dei menu (menuBar) usando C++ e vorrei sapere come oscurare (ad esempio disabilitare) un elemento del menu quando una certa variabile è attivata. È possibile?Come deselezionare una voce di menu in Qt
risposta
Se si conosce un indice del corrispondente QAction:
QMenu::actions.at(i).setEnabled(false);
P.S. Come gentilmente richiesto di seguito, setEnabled(bool)
e setDisabled(bool)
sono slot (così è toggle()
), in modo che possano essere collegati a un segnale che indica la necessità di modificare la disponibilità dell'azione.
Cercare l'indice dell'azione non è necessariamente conveniente. Se hai costruito l'interfaccia con l'editor di moduli di QtCreator, avrai un'azione per ogni voce di menu. I loro nomi sono basati sul testo che prima hai dato alle azioni. Ad esempio se si entra in modo interattivo in una voce di menu con il titolo Foo Bar, viene creata per te un'azione chiamata actionFoo_Bar. Basta digitare ui-> action nell'editor di codice e guardare cosa "name completion" proporrà QtCreator.
In tal caso vorrei prendere in considerazione una chiamata in questo modo:
ui->actionFoo_Bar.setEnabled(false);
Si possono anche fare la voce di menu scompare con
ui->actionFoo_Bar.setVisible(false);
- 1. QT e voce di menu personalizzata (QLineEdit)
- 2. Come posso deselezionare la voce in ListView?
- 3. Capire quale voce di menu è stata attivata in Qt
- 4. Come aggiungere check/Deselezionare QAction nel menu di scelta rapida?
- 5. disattiva una voce di menu in Angular UIB-dropdown
- 6. Come aggiungere una voce di menu nel menu di scelta rapida di Windows
- 7. Qt - Menu di scelta rapida
- 8. Come visualizzare la voce di menu CodeRush in VS?
- 9. Come si imposta la voce di menu predefinita in ContextMenuStrip?
- 10. Come aggiungere una voce di menu al menu di scelta rapida con il tasto destro predefinito
- 11. espresso lungo clic sulla voce di menu e menu popup
- 12. Android: Visualizza vista Riferimento a una voce di menu
- 13. Wordpress. Aggiunta voce di menu manualmente wp_nav_menu
- 14. Automazione UI e voce di menu
- 15. Come aggiungere la voce di menu a "Esegui come"?
- 16. Disabilitazione/abilitazione di una voce del menu dell'applicazione
- 17. Impostazione della voce di menu del menu dell'applicazione Mac OSX diversa da "Python" nella mia applicazione Qt Python
- 18. Come deselezionare una casella di controllo html?
- 19. vista personalizzato per voce di menu
- 20. Deselezionare una casella di controllo in ComponentView
- 21. Come ripetere le azioni di un menu in Qt?
- 22. Come disattivare specifica voce di menu dal menu di controllo in asp.net codice C# dietro
- 23. Aggiorna voce di menu di animazione in ActionBarSherlock
- 24. Abilita/disabilita la voce di menu nel plug-in Eclipse
- 25. Come assegnare un colore di testo personalizzato per una singola voce di menu in un NavigationView?
- 26. Come aggiungere una voce di menu comprimibile nel cassetto di navigazione in Android?
- 27. Come aggiungere una voce di sottomenu alla voce di menu di contesto di Eclipse Package Explorer utilizzando org.eclipse.ui.menus?
- 28. Twitter Menu di avvio Bootstrap/piccoli dispositivi: chiude/comprimi menu facendo clic su una voce di menu
- 29. come possiamo aggiungere dinamicamente la voce di menu
- 30. Come leggere il valore della voce selezionata di un menu html discesa in una funzione javascript
si potrebbe aggiungere alla tua risposta che 'setEnabled (bool) 'e' setDisabled (bool) 'sono slot (quindi è' toggle() '), quindi possono essere collegati a un segnale che indica la necessità di modificare la disponibilità dell'azione. –
Grazie Than @LucTouraille! –
Se la variabile cambia frequentemente (più spesso di quanto viene visualizzato nel menu), potrebbe essere opportuno attivarla solo in risposta a 'signal: QMenu :: aboutToShow()'; non ha senso cambiare qualcosa che è comunque invisibile. – MSalters