Ich versuche momentan das bei QT sich die Farbe bei einem label ändert wenn ich einen button drücke und dann wieder zurück, jedoch funktioniert das nicht, da jedesmal wenn ich wenn ich hinter dem ändern der Farbe ein time.sleep(1) setze, ändert sich die Farbe erst nach der einen Sekunde.
Code: Alles auswählen
import time
import sys
from PyQt5 import QtWidgets, uic, QtCore, QtGui
class MeinDialog(QtWidgets.QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.ui = uic.loadUi("steuerung.ui", self)
self.key = ""
def keyPressEvent(self, e):
if e.key() == QtCore.Qt.Key_W:
self.color("W")
elif e.key() == QtCore.Qt.Key_S:
print("pressed S")
elif e.key() == QtCore.Qt.Key_D:
print("pressed D")
elif e.key() == QtCore.Qt.Key_A:
print("pressed A")
elif e.key() == QtCore.Qt.Key_Escape:
self.close()
def color(self, key):
if key == "W":
self.ui.W.setStyleSheet('color: red')
time.sleep(1)
self.ui.W.setStyleSheet('color: black')
app = QtWidgets.QApplication(sys.argv)
dialog = MeinDialog()
dialog.show()
sys.exit(app.exec_())
Vieln Dank im Vorraus!
LG Tom