PyQt5 按钮动画

Posted

技术标签:

【中文标题】PyQt5 按钮动画【英文标题】:PyQt5 button animation 【发布时间】:2015-05-22 11:31:50 【问题描述】:

我有一个带有样式表格式小部件的 PyQt 应用程序。这些按钮上有一个 css 更改(单击)功能,如下所示:

CSS

但我想实现这个:

动画

有没有办法像上面提到的那样为样式表设置动画,或者我必须操纵按钮的绘制事件,或者其他什么? 请帮忙看看好吗?!

【问题讨论】:

【参考方案1】:

你可能需要这样的东西......

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。

以上是关于PyQt5 按钮动画的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 样式表动画

PyQt5:在 Qmovie 中重新加载 gif

如何为 QPushButton 的背景颜色设置动画(动态更改按钮颜色)

Pyqt5 检查按钮颜色并更改按钮颜色

圆形图像作为按钮 PyQt5

在pyqt5中单击按钮之前触发浏览按钮方法[重复]