Компоновка потока Qt с областью прокрутки

#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. @алек Ах, ну это было просто… Спасибо, сделал свое дело!