내부에 gridlayout이있는 scrollArea가 있으며 이미지가있는 QLabels를 추가합니다. 응용 프로그램이 시작되면 제대로 작동하고 레이블이 제대로 표시됩니다.크기 변경 후 GridLayout + ScrollArea 위젯 위치
참고 : 현재 레이아웃 공간에 맞는 레이블 수를 계산합니다.
내가 그것을 잘 너무 작동 극대화 경우
을하지만 뭔가 이상한 복원 명중 할 때 발생합니다
첫 번째 화면에서와 같이 단지 6 레이블이 동일 (추가 된 것을 볼 수 있습니다총)하지만 여기서는 서로 겹치는 위치에 있습니다.
이것은 ScrollArea 및 레이아웃에 대한 초기화 코드입니다 :는 Freenode에 #pyqt하는
self.scrollArea = QtGui.QScrollArea(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
self.scrollArea.setSizePolicy(sizePolicy)
self.scrollArea.setAutoFillBackground(True)
self.scrollArea.setStyleSheet(_fromUtf8("border: 1px solid blue"))
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
self.gridLayoutWidget = QtGui.QWidget()
self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 0, 667, 551))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.gridLayoutWidget.sizePolicy().hasHeightForWidth())
self.gridLayoutWidget.setSizePolicy(sizePolicy)
self.gridLayoutWidget.setLayoutDirection(QtCore.Qt.LeftToRight)
self.gridLayoutWidget.setAutoFillBackground(True)
self.gridLayoutWidget.setStyleSheet(_fromUtf8("border: 1px solid red"))
self.gridLayoutWidget.setObjectName(_fromUtf8("gridLayoutWidget"))
self.scrollArea.setWidget(self.gridLayoutWidget)