アプリに画像を表示したい。QtDesignerを使用してUIを設計し、次にpyqtを使用してコーディングします。問題は、表示される画像がUIのウィジェットサイズよりも大きいことです。私は公式のデモを参照します:QT- ウィジェット画像ビューアのデモ
imagelabelとscrollAreaを追加し、次のようにコーディングします。
---- UI init ----
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(40, 140, 361, 511))
self.label.setSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Preferred)
self.label.setObjectName(_fromUtf8("label"))
self.scrollArea = QtGui.QScrollArea(self.centralwidget)
self.scrollArea.setGeometry(QtCore.QRect(40, 140, 361, 511))
self.scrollArea.setWidget(self.label)
self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
---- function ----
filename = "./Penguins.jpg"
image = QtGui.QImage(filename)
pp = QtGui.QPixmap.fromImage(image)
lbl = QtGui.QLabel(self.label)
lbl.setPixmap(pp)
self.scrollArea.setWidgetResizable(True)
lbl.show()
ただし、スクロールバーが表示されなくても、画像は引き伸ばされません。