Erstellen Sie ein PyQt-Menü aus einer Liste von Zeichenfolgen

Ich habe eine Liste von Zeichenfolgen und möchte für jede dieser Zeichenfolgen einen Menüeintrag erstellen. Wenn der Benutzer auf einen der Einträge klickt, wird immer dieselbe Funktion mit der Zeichenfolge als Argument aufgerufen. Nach einigem Hin und Her habe ich mir so etwas ausgedacht:

import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.menubar = self.menuBar()
        menuitems = ["Item 1","Item 2","Item 3"]
        menu = self.menubar.addMenu('&Stuff')
        for item in menuitems:
            entry = menu.addAction(item)
            self.connect(entry,QtCore.SIGNAL('triggered()'), lambda: self.doStuff(item))
            menu.addAction(entry)
        print "init done"

    def doStuff(self, item):
        print item

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

Das Problem ist nun, dass jeder Menüpunkt dieselbe Ausgabe ausgibt: "Punkt 3" anstelle des entsprechenden. Ich bin dankbar für jede Idee, wie ich das richtig machen kann. Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage