QPushButton mit Enter-Taste auslösen wie geht das?

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
PythonMarlem
User
Beiträge: 90
Registriert: Dienstag 19. Mai 2020, 19:17
Wohnort: Dußlingen
Kontaktdaten:

Hallo,

ich habe folgendes versucht:

Code: Alles auswählen

        def BetriebbsystemAbfragen():
            os_info = sys.platform
            print("Betriebssytem: " + os_info)
            
        vButtonBetriebssystem = QPushButton("Hallo Betriebssystem",self)
        vButtonBetriebssystem.setGeometry(20,0,130,30)
        vButtonBetriebssystem.setAccessibleName("Es wird ausgegeben wie das Betriebssystem heißt")
        vButtonBetriebssystem.setToolTip("Es wird ausgegeben wie das Betriebssystem heißt")
        vButtonBetriebssystem.clicked.connect(BetriebbsystemAbfragen)
        vButtonBetriebssystem.show()

        def keyPressEvent(vButtonBetriebssystem , QKeyEvent):
            if ((QKeyEvent.key == QKeyEvent.Key_Enter)):
                BetriebbsystemAbfragen            

Wenn der Button aktiv ist und ich drücke die Enter-Taste passiert nichts, warum?
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Die Einrückungen sind seltsam. Mir fehlen da etliche `self` bei den Methoden. Und die sollte man dann auch aufrufen (). Funktionsargumente sollen nicht wie Klassen heißen.
Die if-Abfrage hat zwei Klammernpaare zu viel.
PythonMarlem
User
Beiträge: 90
Registriert: Dienstag 19. Mai 2020, 19:17
Wohnort: Dußlingen
Kontaktdaten:

Das mit den Klammern stimmt:

Code: Alles auswählen

        def keyPressEvent(vButtonBetriebssystem, QKeyEvent):
            if (QKeyEvent.key == QKeyEvent.Key_Enter):
                BetriebbsystemAbfragen
Aber der Code der Rest des Codes paßt. Wird in PyCharm so ausgeführt.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich schrieb zwei Klammernpaare. Du hast aber nur eins entfernt. Wenn Du meinst, dass der Rest passt, dann hast du ja kein Problem.
Antworten