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

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

CSS

但我想实现这个:

动画

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

【问题讨论】:

    标签: python qt pyqt pyqt5


    【解决方案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。
    猜你喜欢
    • 2017-05-18
    • 2021-05-17
    • 1970-01-01
    • 2021-04-09
    • 2018-12-28
    • 2017-10-06
    • 1970-01-01
    • 2014-03-05
    • 2015-12-14
    相关资源
    最近更新 更多