我有一個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. Android按鈕顏色變化
- 5. 變化按鈕,他結合顏色按下時
- 6. 按下按鈕時改變按鈕的顏色
- 7. 按鈕上的顏色隨時變化
- 8. 按下時反轉按鈕的顏色?
- 9. colorControlHighlight在按下時不會改變平面按鈕的顏色
- 10. 輸入類型按鈕在按下時是否改變顏色?
- 11. ActionBarSherlock後退按鈕顏色變化?
- 12. 按鈕backgorund顏色onclick變化
- 13. AlertDialog變化肯定按鈕顏色
- 14. 網格動畫(按鈕顏色變化)
- 15. tkinter多個按鈕顏色變化
- 16. 2D按鈕數組ActionListener,顏色變化?
- 17. 點擊DataGridViewButtonCell按鈕顏色變化
- 18. ActionBar「向上」按鈕顏色變化
- 19. HTML單選按鈕顏色變化
- 20. 顏色變化按鈕不起作用
- 21. Android按鈕動畫(顏色變化)
- 22. 按鈕顏色沒有變化
- 23. 切換按鈕按下顏色
- 24. 僅在for循環結束時按鈕顏色變化
- 25. 單擊按鈕時改變剩餘按鈕的顏色
- 26. 使用ng-click單擊其他按鈕時的按鈕顏色變化
- 27. 按下/下按鈕時,如何更改按鈕的背景顏色?
- 28. 如何在按下按鈕時更改文字顏色?
- 29. 在按下按鈕模板時交換顏色
- 30. Swift 3.0:改變按鈕顏色一次按下
我不認爲有這樣的單行解決方案。但是,設置樣式表並在一段時間後重新設置它有什麼問題?唯一重要的是:**不要在應用程序中使用'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() –