- PyQt 教程
- PyQt - 首页
- PyQt - 简介
- PyQt - 环境搭建
- PyQt - Hello World
- PyQt - 主要类
- PyQt - 使用 Qt Designer
- PyQt - 元对象
- PyQt 信号与槽
- PyQt - 信号和槽
- PyQt - 支持和信号
- PyQt - 未绑定和绑定信号
- PyQt - 使用 PyQtSignal 创建新信号
- PyQt - 连接、断开和发射信号
- PyQt - 槽装饰器
- PyQt - 槽连接
- PyQt 布局
- PyQt - 布局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控件
- PyQt - 基本控件
- PyQt - QLabel 控件
- PyQt - QLineEdit 控件
- PyQt - QPushButton 控件
- PyQt - QRadioButton 控件
- PyQt - QCheckBox 控件
- PyQt - QComboBox 控件
- PyQt - QSpinBox 控件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控件
- PyQt - QFontComboBox 控件
- PyQt - QDoubleSpinBox 控件
- PyQt - QToolBox 控件
- PyQt - QDialog 类
- PyQt - QMessageBox
- PyQt - 多文档界面
- PyQt - 拖放操作
- PyQt 绘图 API
- PyQt - 绘图 API
- PyQt 数据库
- PyQt - 数据库处理
- PyQt 基础知识
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 类
- PyQt 有用资源
- PyQt - 快速指南
- PyQt - 有用资源
- PyQt - 讨论
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()
以上代码产生以下输出:
广告