我有一个QLineEdit对象,并且内置信号'returnPressed'被连接来执行一些任务。但是,当我点击返回时,我想通过闪烁不同的颜色持续一小段时间并将其反转回原始颜色来通知用户有关按键的信息。虽然,这可以通过设置样式表和time.sleep()函数来改变背景颜色来完成,但是我想要一个直接的一行方法来完成这个任务。QLineEdit在PySide中按下回车按钮时颜色变化
回答
正如我在评论中所建议的那样,您需要避免使用time.sleep()
。相反,您可以使用QTimer
。 QTimer
的静态singleShot
方法可以在等待500毫秒后调用一个函数。你在这种情况下调用的函数可以是lambda函数,它设置样式表。
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)"))
嗨,它工作顺利。非常感谢。只是想知道为什么time.sleep()是一个坏主意,而不是QTimer.singleshot()。 –
'time.sleep()'使程序从字面上入睡。虽然这在控制台应用程序中完全可以接受,但它会在图形用户界面中造成麻烦。图形用户界面需要始终保持响应,以便用户在其中进行操作(移动鼠标,放置光标)并收听事件。如果程序休眠,它不能执行这些任务,并且通常由窗口管理系统报告无响应程序崩溃。 (另见[这里](http://stackoverflow.com/questions/16801007/sleep-is-not-working-on-pyqt4)) – ImportanceOfBeingErnest
非常感谢。 :) –
- 1. 当按下按钮时按钮颜色发生变化
- 2. 如何在按下按钮时改变按钮的颜色
- 3. 按钮颜色变化时不变
- 4. 按钮大小和按钮按下背景颜色的变化
- 5. Android按钮颜色变化
- 6. 变化按钮,他结合颜色按下时
- 7. 按下按钮时改变按钮的颜色
- 8. 悬停时按钮颜色变化
- 9. 按钮上的颜色随时变化
- 10. 变化BG按钮的颜色上按
- 11. 按下时反转按钮的颜色?
- 12. 输入类型按钮在按下时是否改变颜色?
- 13. colorControlHighlight在按下时不会改变平面按钮的颜色
- 14. 制作按钮在按下时不改变标题颜色
- 15. 按下按钮和变化的TextView颜色
- 16. Android:按下按钮时改变列表视图中所有按钮的颜色
- 17. 点击DataGridViewButtonCell按钮颜色变化
- 18. 网格动画(按钮颜色变化)
- 19. Android按钮动画(颜色变化)
- 20. ActionBarSherlock后退按钮颜色变化?
- 21. 引导按钮激活颜色变化
- 22. tkinter多个按钮颜色变化
- 23. jquery移动按钮颜色变化
- 24. 按钮颜色没有变化
- 25. 按钮大小和颜色变化
- 26. ActionBar“向上”按钮颜色变化
- 27. 栏按钮的颜色变化7
- 28. Kivy颜色随着按钮变化
- 29. 按钮背景颜色变化
- 30. 按钮点击颜色变化
我不认为有这样的单行解决方案。但是,设置样式表并在一段时间后重新设置它有什么问题?唯一重要的是:**不要在应用程序中使用'time.sleep()',而应该使用'QTimer'。 – ImportanceOfBeingErnest
self.lineEdit_CycleTime.setStyleSheet(“background-color:rgb(5,8,5)”) time.sleep(0.5) self.lineEdit_CycleTime.setStyleSheet(“background-color:rgb(125,125,125)” ) –
请建议使用QTimer代替上述代码的time.sleep() –