Ich habe eine Liste von Namen und aus dieser Liste möchte ich eine menubar
meiner QMainWindow
zu besetzen. Im Folgenden ein Versuch von Code:Hinzufügen von Elementen zu einer Menüleiste mit einer for-Schleife - Pyqt5
list_name = ['Miller', 'Johnson', 'Robert']
self.menuName = self.menuBar().addMenu('Name')
for i in range(0,3):
list_name[i]+'_action' = QtWidgets.QAction(list_name[i], self)
self.menuName.addAction(list_name[i])
Hier ist der Fehler:
Danke
Super! Nur eine kurze Frage. Wie kann ich die Menüleiste Elemente mit dem gleichen Def verbinden? Sollte diese Art von Code in die Schleife enthalten: 'self.name_action.triggered.connect (self.def_name)'? Danke –
Wenn Sie alle QAction mit der gleichen Funktion verbinden möchten, müssen Sie nur: 'action.triggered.connect (self.def_name)'. Wenn Sie in der Funktion filtern wollen, müssen Sie nur 'self.sender()' verwenden. Bitte vergiss nicht, meine Antwort als korrekt zu markieren. – eyllanesc
Noch eine Sache ... Wie kann ich den Namen des ausgewählten Elements als Variable übergeben? Ich tat dies "action.trigger.connect (lambda item = name: self.def_name (item))", aber das gibt 'False' zurück, wenn ich die Variable drucke. Danke –