繁体   English   中英

PyQt5按钮动画

[英]PyQt5 button animation

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

CSS

但我想实现这一目标:

动画

有没有办法使样式表如上所述动画,或者我必须操纵按钮的绘画事件,或者其他? 请给我一些帮助吗?

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

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_())

1.png2.png 使用的附加图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM