Seite 1 von 1

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

Verfasst: Freitag 29. Mai 2020, 21:22
von PythonMarlem
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?

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

Verfasst: Samstag 30. Mai 2020, 09:58
von Sirius3
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.

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

Verfasst: Samstag 30. Mai 2020, 10:08
von PythonMarlem
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.

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

Verfasst: Samstag 30. Mai 2020, 10:13
von Sirius3
Ich schrieb zwei Klammernpaare. Du hast aber nur eins entfernt. Wenn Du meinst, dass der Rest passt, dann hast du ja kein Problem.