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