我需要通过更改Q按钮的背景颜色来创建简单的“闪烁”效果的帮助。我以为只要能足够快地在两种颜色之间改变背景色,我就能产生这种闪烁效果。但是,尽管我可以将背景色设置为一种颜色,但我不知道如何快速在两种颜色之间进行切换。我尝试使用循环,但是我的输出GUI仅保留一种颜色。我是这类东西的初学者,所以也许我错过了一个简单的解决方案。
我拥有所有必要的程序包和所有内容,因此为了简化起见,我仅包括用于处理背景颜色的按钮部分,这就是我认为的问题所在。
self.powerup_button = QtWidgets.QPushButton(self.centralwidget)
count = 0
while count < 100:
self.powerup_button.setStyleSheet("background-color: none")
count = count + 1
self.powerup_button.setStyleSheet("background-color: green")
count = count + 1
我认为while循环将使按钮在两种颜色之间切换,从而创建我想要的眨眼效果,但是我错了。
答案 0 :(得分:0)
尝试一下:
import sys
from PyQt5 import QtWidgets, QtCore
class MyWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.flag = True
self.powerup_button = QtWidgets.QPushButton("Button")
self.setCentralWidget(self.powerup_button)
timer = QtCore.QTimer(self, interval=1000)
timer.timeout.connect(self.update_background)
timer.start()
def update_background(self):
if self.flag:
self.powerup_button.setStyleSheet("background-color: none;")
else:
self.powerup_button.setStyleSheet("background-color: green;")
self.flag = not self.flag
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
myWindow = MyWindow()
myWindow.show()
app.exec_()