- 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()
以上程式碼產生以下輸出:
廣告