PyQt QPixmap类
QPixmap 类提供了图像的离屏表示。它可以用作QPaintDevice对象,也可以加载到另一个窗口部件中,通常是标签或按钮。
Qt API还有另一个类似的类QImage,它经过了优化,用于I/O和其他像素操作。另一方面,Pixmap经过了优化,用于在屏幕上显示图像。两种格式可以相互转换。
可以读入QPixmap对象的图像文件类型如下所示 –
| BMP | Windows位图 |
|---|---|
| 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 PyQt4.QtCore import *
from PyQt4.QtGui import *
def window():
app = QApplication(sys.argv)
win = QWidget()
l1 = QLabel()
l1.setPixmap(QPixmap("python.jpg"))
vbox = QVBoxLayout()
vbox.addWidget(l1)
win.setLayout(vbox)
win.setWindowTitle("QPixmap Demo")
win.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
上面的代码产生如下输出−

极客教程