Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带滚动区域的Qt流布局_Qt_Pyqt - Fatal编程技术网

带滚动区域的Qt流布局

带滚动区域的Qt流布局,qt,pyqt,Qt,Pyqt,我尝试在Qt中使用以下示例进行HTML样式的网格布局:。它几乎达到了我想要的效果,但是当我把它放到一个滚动区域时,它似乎会缩小到最小尺寸,而不想扩展到滚动区域的全部尺寸。我确实在文档中看到,您需要将布局中的sizeConstraint设置为SetMinAndMaxSize,但这似乎无法解决问题 如何使布局占据滚动区域内的最大尺寸 下面是一个基本示例,从上面的链接导入类: class App(QtWidgets.QDialog): def __init__(): super

我尝试在Qt中使用以下示例进行HTML样式的网格布局:。它几乎达到了我想要的效果,但是当我把它放到一个滚动区域时,它似乎会缩小到最小尺寸,而不想扩展到滚动区域的全部尺寸。我确实在文档中看到,您需要将布局中的
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}"))

scroll\u area.setWidgetResizeable(True)
@alec啊,这很简单。。。谢谢,你成功了!