はじめに
QPixmap
クラスはQPaintDevice
オブジェクトとして使用したり、他のウィジェット(ラベルやボタン等)に読み込ませることができます。
Qt APIには,I/Oやその他のピクセル操作に最適化された類似のクラスにQImage
があります。一方Pixmapは画面に表示するために最適されています。これらは相互に変換も可能です。
QPixmapオブジェクトに読み込むことができる画像形式
BMP
Windows Bitmap
GIF
Graphic Interchange Format (optional)
JPG
Joint Photographic Experts Group
JPEG
Joint Photographic Experts Group
PNG
Portable Network Graphics
PBM
Portable Bitmap
PGM
Portable Graymap
PPM
Portable Pixmap
XBM
X11 Bitmap
XPM
X11 Pixmap
QPixmapオブジェクの操作に便利なメソッドたち
copy()
QRectオブジェクトからpixmapデータをコピー
fromImage()
QImageオブジェクトをQPixmapに変換
grabWidget()
与えられたウィジェットからpixmapを生成
Load()
イメージファイルをpixmapとしてロード
save()
QPixmapオブジェクトをファイルとして保存
toImage()
QPixmapをQImageへ変換
※QPixmapの最も一般的な使い方は,ラベルやボタンに画像を表示することだそうです
デモ
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("test.png"))
vbox = QVBoxLayout()
vbox.addWidget(l1)
win.setLayout(vbox)
win.setWindowTitle("QPixmap Demo")
win.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
実行結果