[pyqt] menu
Bul
-
bul -
bul -
Bonjour,
extrait du code "simplifié" :
dans choix(), j'aimerais afficher le texte de la ligne cliquée du menu
( Alain, Bernard ou Claude ) j'ai tenté plein de trucs, je n'y arrive pas.
comment passer en paramètre "texte du menu cliqué" ?
fonction choix() unique, addAction créé comme dans l'exemple
si vous pouviez m'aider
merci
extrait du code "simplifié" :
from PyQt4 import QtCore, QtGui
import sys
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
QtGui.QWidget.__init__(self, None)
mnuCde=self.menuBar().addMenu('Cde')
lib=['Alain','Bernard','Claude']
for lig in range(0,len(lib)):
mnuCde.addAction( lib[lig],self.choix )
def choix(self):
print('ok')
app=QtGui.QApplication(sys.argv)
win=Window()
win.show()
sys.exit(app.exec_())
dans choix(), j'aimerais afficher le texte de la ligne cliquée du menu
( Alain, Bernard ou Claude ) j'ai tenté plein de trucs, je n'y arrive pas.
comment passer en paramètre "texte du menu cliqué" ?
fonction choix() unique, addAction créé comme dans l'exemple
si vous pouviez m'aider
merci
A voir également:
- [pyqt] menu
- Menu déroulant excel - Guide
- Canon quick menu - Télécharger - Utilitaires
- Windows 11 menu contextuel classique - Guide
- Windows 11 menu démarrer classique - Guide
- Activer bluetooth tv samsung menu caché ✓ - Forum TV & Vidéo
2 réponses
Bonjour,
Je n'ai pas trouvé comment récupérer le texte de l'item à partir des méthodes PyQt, mais j'ai une solution: passer un paramètre avec partial du module functools. On modifie le code comme suit:
Je n'ai pas trouvé comment récupérer le texte de l'item à partir des méthodes PyQt, mais j'ai une solution: passer un paramètre avec partial du module functools. On modifie le code comme suit:
import sys
from functools import partial
from PyQt4 import QtCore, QtGui
#############################################################################
class Window(QtGui.QMainWindow):
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.mnuCde=self.menuBar().addMenu('Cde')
lib=['Alain','Bernard','Claude']
for lig in range(0,len(lib)):
self.mnuCde.addAction(lib[lig], partial(self.choix, lib[lig]))
def choix(self, texte):
print(texte)
#############################################################################
app=QtGui.QApplication(sys.argv)
win=Window()
win.show()
sys.exit(app.exec_())