PyQt5入门(二十六)装载gif动画文件 & 缩放图片

一.装载gif动画文件

代码:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class loadingGif(QWidget):
    def __init__(self):
        super(loadingGif, self).__init__()
        self.label=QLabel("",self)
        #fixed  adj. 确定的;固执的
        self.setFixedSize(128,128)
        self.resize(400,300)#设置了固定尺寸之后,尺寸便不可修改!
        self.setWindowFlags(Qt.Dialog | Qt.CustomizeWindowHint)
        self.movie=QMovie('../picture/images/loading.gif')
        self.label.setMovie(self.movie)
        self.movie.start()


if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = loadingGif()
    form.show()
    sys.exit(app.exec_())

运行结果:

PyQt5入门(二十六)装载gif动画文件 & 缩放图片_第1张图片

 

 二.缩放图片

QImage.scaled

代码:

from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PyQt5.QtGui import QImage, QPixmap
from PyQt5.QtCore import Qt
import sys


class ScaleImage(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("图片大小缩放例子")
        filename = '../picture/images/Cloudy_72px.png'
        img = QImage(filename)
        label1 = QLabel(self)
        label1.setFixedWidth(200)
        label1.setFixedHeight(200)

        #参数三四:忽略比例,平滑显示
        result = img.scaled(label1.width(),label1.height(),Qt.IgnoreAspectRatio,Qt.SmoothTransformation)
        label1.setPixmap(QPixmap.fromImage(result))

        vbox = QVBoxLayout()
        vbox.addWidget(label1)

        self.setLayout(vbox)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = ScaleImage()
    win.show()
    sys.exit(app.exec_())

运行结果:

PyQt5入门(二十六)装载gif动画文件 & 缩放图片_第2张图片

 

 

 

 

你可能感兴趣的:(PyQt5,装载gif动画文件)