我有一個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() –