PythonのGUI開発においての覚書
GUIで画像表示を行う場合のあれこれ
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import QMainWindow, QLabel
class ImgView(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 画像表示領域 ラベルを作ってその中に画像を置く
self.lbl_image = QLabel(self)
self.lbl_image.move(pos_x, pos_y)
self.lbl_image.setFixedWidth(width)
self.lbl_image.setFixedHeight(height)
def viewevent(self):
#Pixmapフォーマットの画像を表示させる
self.lbl_image.setPixmap(pix)
</code></pre>
<!-- /wp:code -->[解説]
・表示部分はQLabelを利用
・表示させるのはPixmapの画像
要はPixmapファイルが作れれば結構簡単に画像表示できます!
なのでpillowで取得した画像データをpixmapへ変換する場合は下記の様に。
from PyQt5 import QtGui
from PIL import Image, ImageOps
def change_pil_to_pixmap(self, pilimg):
rgb_im = pilimg.convert('RGBA')
data = rgb_im.tobytes("raw", "RGBA")
qim = QtGui.QImage(data, rgb_im.size[0], rgb_im.size[1], QtGui.QImage.Format_ARGB32)
pix_img = QtGui.QPixmap.fromImage(qim)
return pix_img画像データ取得については下記参考
pillowのフォーマットで色々画像処理できます。
