PyQt5 - QPixmap 类
QPixmap 类提供图像的离屏表示。 它可以用作 QPaintDevice 对象,也可以加载到另一个小部件中,通常是标签或按钮。
Qt API 有另一个类似的类 QImage,它针对 I/O 和其他像素操作进行了优化。 另一方面,Pixmap 针对在屏幕上显示进行了优化。 两种格式都可以相互转换。
QPixmap对象可以读入的图片文件类型如下 −
BMP | Windows Bitmap |
GIF | Graphic Interchange Format (optional) |
JPG | Joint Photographic Experts Group |
JPEG | Joint Photographic Experts Group |
PNG | Portable Network Graphics |
PBM | Portable Bitmap |
PGM | Portable Graymap |
PPM | Portable Pixmap |
XBM | X11 Bitmap |
XPM | X11 Pixmap |
以下方法在处理 QPixmap 对象时很有用 −
序号 | 方法 & 说明 |
---|---|
1 |
copy() 从 QRect 对象复制像素图数据 |
2 |
fromImage() 将 QImage 对象转换为 QPixmap |
3 |
grabWidget() 从给定的小部件创建一个像素图 |
4 |
grabWindow() 在窗口中创建数据的像素图 |
5 |
Load() 将图像文件加载为像素图 |
6 |
save() 将 QPixmap 对象保存为文件 |
7 |
toImage 将 QPixmap 转换为 QImage |
QPixmap 最常见的用途是在标签/按钮上显示图像。
示例
以下示例显示了使用 setPixmap() 方法在 QLabel 上显示的图像。
完整代码如下 −
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()
上面的代码产生以下输出 −