簡體   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