当在 PySide 中按下 return 时,QLineEdit 颜色会发生变化
QLineEdit color change for a flash when return pressed in PySide
我有一个 QLineEdit 对象,内置信号 'returnPressed' 已连接以执行某些任务。但是,当我单击 return 时,我想通过在短时间内闪烁不同的颜色并反转回原始颜色来通知用户有关按键的信息。虽然这可以通过设置样式表和 time.sleep() 函数更改背景颜色来完成,但我想要一种直接的单行方法来完成此操作。
正如我在评论中所建议的,您需要避免使用 time.sleep()
。相反,您可以使用 QTimer
。 QTimer
的静态 singleShot
方法可以在等待 500 毫秒后调用一个函数。在这种情况下调用的函数可以是 lambda 函数,它设置样式 sheet.
self.lineEdit_CycleTime.setStyleSheet("background-color: rgb(5, 8, 5)")
QtCore.QTimer.singleShot(500, lambda :self.lineEdit_CycleTime.setStyleSheet("background-color: rgb(125,125,125)") )
我有一个 QLineEdit 对象,内置信号 'returnPressed' 已连接以执行某些任务。但是,当我单击 return 时,我想通过在短时间内闪烁不同的颜色并反转回原始颜色来通知用户有关按键的信息。虽然这可以通过设置样式表和 time.sleep() 函数更改背景颜色来完成,但我想要一种直接的单行方法来完成此操作。
正如我在评论中所建议的,您需要避免使用 time.sleep()
。相反,您可以使用 QTimer
。 QTimer
的静态 singleShot
方法可以在等待 500 毫秒后调用一个函数。在这种情况下调用的函数可以是 lambda 函数,它设置样式 sheet.
self.lineEdit_CycleTime.setStyleSheet("background-color: rgb(5, 8, 5)")
QtCore.QTimer.singleShot(500, lambda :self.lineEdit_CycleTime.setStyleSheet("background-color: rgb(125,125,125)") )