PyQt5 - 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 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()

以上程式碼產生以下輸出:

QPixmap Class
廣告