QMainWindow, menuBar() und addAction

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
cmate
User
Beiträge: 7
Registriert: Samstag 25. Februar 2012, 21:28

Hi,

ich bin am lernen und gerade dabei mit QMainWindow ein Menü und darin zwei Unterpunkten einzurichten.
Leider wird nur erste der beiden angezeigt. Den zweiten will ich mit Zeile 29 erstellen und in Zeile 33 einfügen.
Ich hab jetzt mehrere Versionen probiert, mit und ohne Nutzung der Funktion 'createAction' in Zeile 66, komme aber nicht wirklich weiter. Das Menü 'File' enthält nur den Unterpunkt 'New'. Eine Fehlermeldung bekomme ich nicht angezeigt.

http://www.python-forum.de/pastebin.php?mode=view&s=283

Kann mir jemand weiter helfen?

Beste Grüße
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Hast Du es mal in Erwägung gezogen, den Designer zu nutzen, um dererlei Dinge zu machen? Wenn Du kaum / keine Dynamik drin hast, ist das einfach deutlich komfortabler.

Bei mir funzt es - ich bekomme beide Menüpunkte angezeigt.

Allerdings musste ich mir ja noch die main-Funktion drum herum bauen, weil Du ja nicht so nett warst, (wirklich) lauffähigen Code zu posten ;-)

Code: Alles auswählen

if __name__ == "__main__":
    app = QApplication(sys.argv)
    widget = MainWindow()
    widget.show()
    sys.exit(app.exec_())
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
cmate
User
Beiträge: 7
Registriert: Samstag 25. Februar 2012, 21:28

Habe Zeile 29 geändert:

Code: Alles auswählen

self.fileQuitAction = self.createAction(self.tr('Close'), self.close, QKeySequence.Close, 'XCBuildBadge-Error', self.tr("Close the Application"))
womit es nun funktioniert.

Nächstes mal poste ich dann kompletten, lauffähigen Code. :)

Vielen Dank!
lunar

@cmate: Hast Du beim ursprünglichen Quelltext wirklich keine Fehlermeldung bekommen, nicht einmal auf dem Terminal?!
cmate
User
Beiträge: 7
Registriert: Samstag 25. Februar 2012, 21:28

Nee, ich habe wirklich keine Fehlermeldung bekommen.
Ich benutze Python 3.2 und Eclipse mit PyDev Plugin sowie PyQt und Qt4 in jeweils der aktuellen Version.

Die Ausgabe der Konsole in Eclipse sollte ja den Terminalmeldungen entsprechen, zeigt aber keine Fehlermeldung mit dem ursprünglichen Quelltext.
Antworten