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