PyQt5按钮动画
问题描述:
我有一个PyQt应用程序样式表格式的小部件。按钮有一个CSS的变化(点击)功能在他们身上,这样:PyQt5按钮动画
CSS
但我想实现这一点:
动画
有没有一种方法来动画样式表如上所述,或者我必须操纵bu tton的绘画事件,还是别的? 你能帮忙吗?!
答
您可能需要有这样的事情...
from PyQt4 import QtGui
import sys
from PyQt4.QtCore import QSize
class PB(QtGui.QPushButton):
def __init__(self, *args, **kwargs):
QtGui.QPushButton.__init__(self, *args, **kwargs)
self.setMouseTracking(True)
def mouseMoveEvent(self, event):
if event.pos().x()>self.width()-10 or event.pos().y()>self.height()-10\
or event.pos().x() < 10 or event.pos().y()< 10:
bmp = QtGui.QIcon('/tmp/1.png')
self.setIcon(bmp)
else:
bmp = QtGui.QIcon('/tmp/2.png')
self.setIcon(bmp)
self.setIconSize(QSize(200,200))
return QtGui.QPushButton.mouseMoveEvent(self, event)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
b = PB()
b.setParent(w)
b.setGeometry(50,50,200,200)
w.resize(300,300)
w.show()
sys.exit(app.exec_())
使用附带的图像。
谢谢,但我想动画按钮的点击事件。 我有两个样式表方案,不知道如何在它们之间制作过渡动画,如“动画”gif。 – 2015-03-19 16:18:41