PyQt5 QPixmap类
QPixmap 类提供了一个图像的离屏表示。它可以用作QPaintDevice对象,也可以加载到另一个小部件中,通常是标签或按钮。
Qt API还有另一个类 QImage ,它针对I/O和其他像素操作进行了优化。而Pixmap则优化用于在屏幕上显示。两种格式可以相互转换。
可以读取到QPixmap对象中的图像文件类型如下:
| BMP | Windows Bitmap |
|---|---|
| GIF | 图形交换格式(可选) |
| 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的方法是在标签/按钮上显示图片。
示例
以下示例展示了使用 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()
以上代码产生以下输出 –

极客教程