Я хочу показать изображение в своем приложении. Я использую QtDesigner для разработки пользовательского интерфейса, а затем используйте pyqt для кодирования. Проблема заключается в том, что изображение, которое будет отображаться, больше, чем размер виджета в пользовательском интерфейсе. Я имею в виду OFFICAL демо: QT - Widget Image Viewer DemoPyQt/Qt: Как растянуть изображение в Qlabel widget?
добавить 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()
но не растягивать изображение, даже не полоса прокрутки не появится!
добавляет «self.label.setScaledContents (правда) «в моем коде, но он все еще не работает! Вы можете увидеть мой код выше, я установил размер scrollArea с размером метки. Это проблема? – whuiscool
Я решил это! С отладкой я обнаружил, что «lbl = QtGui.QLabel (self.label) « неправ. – whuiscool