PyQT5 (九十九) 装载Gif动画 案例

素材 a.gif

 

PyQt5 装载Gif动画 案例

QMovie

import sys

from PyQt5.QtCore import Qt, QTimer
from PyQt5.QtGui import QIcon, QBitmap, QPainter, QPixmap, QCursor, QMovie
from PyQt5.QtWidgets import QHBoxLayout, QPushButton, QMessageBox, QApplication, QVBoxLayout, QWidget, \
    QLabel, QGridLayout, QLineEdit, QTextEdit, QFormLayout, QComboBox

'''
PyQt5 装载Gif动画 案例

QMovie

'''


class LoadingGifDemo(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 设置定位和左上角坐标
        # self.setGeometry(300, 300, 360, 260)
        # 设置窗口标题
        self.setWindowTitle('异形窗口 的演示')
        # 设置窗口图标
        # self.setWindowIcon(QIcon('../web.ico'))
        # self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
        # self.setStyleSheet('''background-color:black; ''')
        self.label = QLabel("",self)
        self.setFixedSize(658,494)
        self.setWindowFlags(Qt.Dialog | Qt.CustomizeWindowHint)
        self.movie = QMovie('a.gif')
        self.label.setMovie(self.movie)
        self.movie.start()

    def mousePressEvent(self,event):
        # 左击
        if event.button() == Qt.LeftButton:

            print(event.globalPos())
            print(event.pos())
            print(self.pos())

        # 右击
        if event.button() == Qt.RightButton:
            self.close()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 设置应用图标
    app.setWindowIcon(QIcon('../web.ico'))
    w = LoadingGifDemo()

    w.show()
    sys.exit(app.exec_())

要实现在PyQt5中点击按钮后,在Label控件中显示动态图片,你可以通过连接按钮的clicked信号和一个槽函数来实现。在槽函数中,创建QMovie对象并将其设置为Label的动画。 以下是一个示例代码: ```python from PyQt5.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget, QPushButton from PyQt5.QtCore import Qt, QUrl from PyQt5.QtGui import QMovie class MainWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle("动态图片示例") self.layout = QVBoxLayout() self.label = QLabel() self.layout.addWidget(self.label) self.button = QPushButton("显示动态图片") self.button.clicked.connect(self.show_dynamic_image) self.layout.addWidget(self.button) self.setLayout(self.layout) def show_dynamic_image(self): self.movie = QMovie("path/to/animated_gif.gif") # 替换为你的动态图片路径 self.label.setMovie(self.movie) self.movie.start() if __name__ == "__main__": app = QApplication([]) window = MainWindow() window.show() app.exec_() ``` 在上面的代码中,我们创建了一个继承自QWidget的MainWindow类。在初始化方法中,我们创建了一个垂直布局,并将一个QLabel和一个QPushButton添加到布局中。我们通过将按钮的clicked信号与一个名为show_dynamic_image的槽函数连接来实现点击按钮后显示动态图片。 在show_dynamic_image槽函数中,我们创建了一个QMovie对象,并将动态图片的路径作为参数传递给它。然后,我们使用label的setMovie()方法将QMovie对象设置为label的动画,并调用movie的start()方法开始播放动画。 记得将代码中的"path/to/animated_gif.gif"替换为你自己的动态图片路径。运行代码后,点击按钮后应该能够在Label中看到动态图片的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值