我只想讓QDialog中的某些元素閃爍(改變背景顏色)。用PyQt閃爍窗口小部件
現在最好我想能夠使用已經存在的東西並封裝閃爍狀態,即用css3閃爍或可能用QPropertyAnimation
?
因爲我沒有找到這個選項我試過不太最佳解決方案的任何好的信息:從對話框__init__
摘錄:
self.timer = QTimer()
self.timer.timeout.connect(self.update_blinking)
self.timer.start(250)
self.last_blinked = None
和
def update_blinking(self):
self.frame.setStyleSheet(
self.STYLE_BLINK_ON if self.blink else self.STYLE_BLINK_OFF)
self.blink = not self.blink
其中STYLE_BLINK_ON
和STYLE_BLINK_OFF
是一些CSS指定背景顏色。 這一工程,但
- 我覺得超級難看,感覺就像代碼90年代
- 作爲頻繁樣式更新中斷按鈕,點擊它是不可用的。
2的解釋:假設應該閃爍的小部件是一個幀。 單擊框架內的按鈕時,如果在釋放鼠標按鈕之前發生框架的樣式更新,則不會發出clicked
信號。
封裝事物並且不需要我手動啓動計時器的完全不同的解決方案當然是首選。 但是,如果有人至少想出瞭解決點2的解決方案,我將不勝感激。
這些選項看起來好多了!我知道我的問題並不在我的問題中,但我希望它,如果答案也提供了一種方法將動畫應用於現有的Widget,使其可以打開/關閉 – IARI