PyQt の QGraphicsScene を使って画像を表示する

PyQt を使って画像を表示する の続きです。

下記を参考にした。

PyQt5 画像をウィンドウ上に表示する方法

PyQt の QGraphicsScene を使って図形を描画する にて解説したように

QGraphicsScene は、さまざまな図形を表示できる。

QGraphicsScene に画像を表示するには QPixmap と addPixmap を使用する。

QPixmap

addPixmap

pixmap = QPixmap(fpath)
scene = QGraphicsScene()
scene.addPixmap(pixmap)

QGraphicsPixmapItemを使用する方法もある。

pyqt QGraphicsPixmapItem

pixmap = QPixmap(fpath)
pixmap_item = QGraphicsPixmapItem(pixmap)
scene = QGraphicsScene()
scene.addItem(pixmap_item)

PyQt の QGraphicsScene の大きさ にて解説したように

QGraphicsScene の大きさは不定で、

図形を追加すると すべての図形を包括する大きさとなる。

QGraphicsScene の大きさは sceneRect を使って取得できる。

pyqt sceneRect

ウインドウ (480x360) より小さい画像(162x172) のとき

本来の大きさで表示される

ウインドウ (480x360) より大きい画像( 665x1000) のとき

ウインドウの大きさで画像の一部が表示され、右端と下端にスクロールバーが表示される。

ウインドウに納るように画像をリサイズしたとき

リサイズした大きさ(215 324) で表示される。

作成した pythonスクリプトGithub に公開した。

Github: PyQt

実行すると画像を表示する。