Image dans un QLabel et un QScrollArea
Bonjour,
Je voudrais afficher une image (dans un QLabel ) qui se trouve dans un QScrollArea.
En fait dans ma fenêtre j'ai une partie ou j'affiche une image, et je voudrais des scroll car l'image seras plus grand que la zone d'affichage. (mais c'est voulu)
J'ai utiliser Qt disigner pour faire mon interface, celui ci m'a générer cela pour cette partie :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| self.scrollArea = QtWidgets.QScrollArea(self.centralwidget)
self.scrollArea.setGeometry(QtCore.QRect(323, 0, 421, 541))
self.scrollArea.setBaseSize(QtCore.QSize(0, 0))
self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTop|QtCore.Qt.AlignTrailing)
self.scrollArea.setObjectName("scrollArea")
self.scrollAreaWidgetContents = QtWidgets.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 406, 526))
self.scrollAreaWidgetContents.setAutoFillBackground(True)
self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
self.lab_Image = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.lab_Image.setGeometry(QtCore.QRect(10, 30, 381, 461))
self.lab_Image.setText("")
self.lab_Image.setScaledContents(False)
self.lab_Image.setWordWrap(False)
self.lab_Image.setObjectName("lab_Image")
self.scrollArea.setWidget(self.scrollAreaWidgetContents) |
Dans mon init, je fait cela :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
# charge une image
pixmap = QPixmap("/home/pi/Pictures/Cam1/Image6s_03.jpg")
self.lab_Image.setPixmap(pixmap)
self.lab_Image.resize(pixmap.size())
self.lab_Image.adjustSize()
self.lab_Image.setGeometry(QtCore.QRect(0,0,pixmap.width(),pixmap.height()))
self.scrollArea.setWidgetResizable(True)
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0,0,pixmap.width(),pixmap.height()))
#self.scrollArea.horizontalScrollBar().value = pixmap.width()#.setvalue(pixmap.width()) |
Mais je n'est pas la possibilité d'utiliser le scrolle, il sont grisé ?
Comment que c'est ti que l'on fait ?
Merci de votre aide.
Stéphane