#qt #pyqt
Вопрос:
Я пытаюсь создать макет сетки в стиле HTML в Qt, используя этот пример здесь: https://gist.github.com/Cysu/7461066. Он почти делает то, что я хочу, однако, когда я помещаю его в область прокрутки, он, кажется, сворачивается до минимального размера и не хочет расширяться до полного размера области прокрутки. Я действительно видел , что в документации вам нужно установить значение sizeConstraint
в макете SetMinAndMaxSize
, однако это, похоже, не исправило ситуацию.
Как я могу сделать так, чтобы макет занимал максимальный размер внутри области прокрутки?
Вот основной пример импорта класса по ссылке выше:
class App(QtWidgets.QDialog):
def __init__():
super().__init__()
layout = QtWidgets.QHBoxLayout()
self.setLayout(layout)
grid = QtWidgets.QWidget()
grid_layout = FlowLayout()
grid_layout.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
grid.setLayout(grid_layout)
scroll_area = QtWidgets.QScrollArea()
scroll_area.setWidget(grid)
layout.addWidget(scroll_area)
# layout.addWidget(grid) # adding the widget the the parent layout works just fine...
for i in range(25):
grid_layout.addWidget(QtWidgets.QLabel(f"Label {i}"))
Комментарии:
1.
scroll_area.setWidgetResizable(True)
2. @алек Ах, ну это было просто… Спасибо, сделал свое дело!