web-dev-qa-db-ja.com

PyQt4のQWidgetに画像を追加するにはどうすればよいですか

QWidgetに画像を追加またはインポートするにはどうすればよいですか?手がかりを見つけました。そのラベルにLabelを追加し、Pictureを追加できます。 QPicture()の引数が必要です。私が使用できる可能性はQLabel.setPicture(self.QPicture)です。

14
V.Sindhuja

ここに、あなたと@erelenderが記述したことを実行するいくつかのコードがあります。

_import os,sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
window.setGeometry(0, 0, 400, 200)

pic = QtGui.QLabel(window)
pic.setGeometry(10, 10, 400, 100)
#use full ABSOLUTE path to the image, not relative
pic.setPixmap(QtGui.QPixmap(os.getcwd() + "/logo.png"))

window.show()
sys.exit(app.exec_())
_

ジェネリックQWidgetにはsetPixmap()がありません。この方法でうまくいかない場合は、QWidgetから派生する独自のカスタムウィジェットを作成し、paintEventメソッドをオーバーライドして画像を表示できます。

18
swanson

QPictureはあなたが望むものではありません。 QPictureは、QPainterコマンドを記録および再生します。欲しいのはQPixmapです。 QPixmapコンストラクターにファイル名を付け、QLabel.setPixmap()を使用してこのピクスマップをラベルに設定します。

pythonの実装例は次のようになります。

label = QLabel() 
pixmap = QPixmap('path_to_your_image')
label.setPixmap(pixmap)
14
erelender

このスニペットをGUIスクリプトで使用します。

image = QtGui.QLabel(self)
image.setGeometry(50, 40, 250, 250)
pixmap = QtGui.QPixmap("C:\\address\\to\\your_image.png")
image.setPixmap(pixmap)
image.show()
0