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()
上面的代码产生以下输出 −

