PyQt5 - QPixmap 类

  • 简述

    QPixmap类提供图像的离屏表示。它可以用作 QPaintDevice 对象,也可以加载到另一个小部件中,通常是标签或按钮。
    Qt API 有另一个类似的类QImage,它针对 I/O 和其他像素操作进行了优化。另一方面,Pixmap 针对在屏幕上显示进行了优化。两种格式都可以相互转换。
    可以读入 QPixmap 对象的图像文件类型如下 -
    BMP 视窗位图
    动图 图形交换格式(可选)
    JPG 联合摄影专家组
    JPEG 联合摄影专家组
    PNG 便携式网络图形
    PBM 便携式位图
    PGM 便携式灰度图
    PPM 便携式像素图
    XBM X11 位图
    XPM X11 像素图
    以下方法在处理 QPixmap 对象时很有用 -
    序号 方法和描述
    1
    copy()
    从 QRect 对象复制像素图数据
    2
    fromImage()
    将 QImage 对象转换为 QPixmap
    3
    grabWidget()
    从给定的小部件创建一个像素图
    4
    grabWindow()
    在窗口中创建数据的像素图
    5
    Load()
    将图像文件加载为像素图
    6
    save()
    将 QPixmap 对象保存为文件
    7
    toImage
    将 QPixmap 转换为 QImage
    QPixmap 最常见的用途是在标签/按钮上显示图像。
  • 例子

    以下示例显示了使用 QLabel 显示的图像setPixmap()方法。
    完整的代码如下 -
    
    
    import sys
    
    from PyQt5.QtCore import *
    
    from PyQt5.QtGui import *
    
    from PyQt5.QtWidgets import *
    
    
    
    def window():
    
       app = QApplication(sys.argv)
    
       win = QWidget()
    
       l1 = QLabel()
    
       l1.setPixmap(QPixmap("python.png"))
    
    
    
       vbox = QVBoxLayout()
    
       vbox.addWidget(l1)
    
       win.setLayout(vbox)
    
       win.setWindowTitle("QPixmap Demo")
    
       win.show()
    
       sys.exit(app.exec_())
    
    
    
    if __name__ == '__main__':
    
       window()
    
    
    上面的代码产生以下输出 -
    QPixmap 类