Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Python Pyside:QScrollara大小调整小部件_Python_User Interface_Pyside_Maya_Qscrollarea - Fatal编程技术网

Python Pyside:QScrollara大小调整小部件

Python Pyside:QScrollara大小调整小部件,python,user-interface,pyside,maya,qscrollarea,Python,User Interface,Pyside,Maya,Qscrollarea,我对QScrollArea和它调整我的小部件的大小有问题。我希望我的所有布局和我的滚动区域内的小部件有一个固定的高度。如果我设置scroll.setWidgetResizeable(True),它将根据生成的小部件数量调整所有内容的大小。如果我将其设置为False,那么我的小部件将不会出现。这是我的代码示例 container = QtWidgets.QWidget() list_layout = QtWidgets.QVBoxLayout() container.setLayout(list_

我对QScrollArea和它调整我的小部件的大小有问题。我希望我的所有布局和我的滚动区域内的小部件有一个固定的高度。如果我设置scroll.setWidgetResizeable(True),它将根据生成的小部件数量调整所有内容的大小。如果我将其设置为False,那么我的小部件将不会出现。这是我的代码示例

container = QtWidgets.QWidget()
list_layout = QtWidgets.QVBoxLayout()
container.setLayout(list_layout)
scroll = QtWidgets.QScrollArea()
scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
scroll.setWidgetResizable(True)
scroll.setWidget(container)

for x in range 10:
    product_container = QtWidgets.QFrame()
    product_container .setFixedHeight(50)
    row = QtWidgets.QHBoxLayout(product_container)
    name = QtWidgets.QLabel(y)
    cbox = QtWidgets.QCheckBox()
    row.addWidget(name)
    row.addWidget(cbox)
    seperator = QtWidgets.QFrame()
    separator.setFrameStyle(QtWidgets.QFrame.HLine | QtWidgets.QFrame.Plain)
    list_layout.addWidget(product_container)
    list_layout.addWidget(separator)
我尝试将为水平布局生成的容器设置为固定大小(这确实有效——如果我设置了背景颜色,则显示小部件周围的框更小),但水平布局和QFrame行之间的空间仍然是随机的

我的最终目标是在水平布局和分隔符之间有一个固定的距离


如果行具有固定高度,则只需在容器布局的末端添加一个可扩展的空间,以便将所有行向上推:

container = QtWidgets.QWidget()
list_layout = QtWidgets.QVBoxLayout()
container.setLayout(list_layout)
...
for x in range(10):
    ...
    list_layout.addWidget(separator)
list_layout.addStretch()

您可以在图像中指出观察到的“水平布局和QFrame行之间的空间仍然是随机的”添加的图像,该图像以水平方向显示容器小部件的背景色layout@ghost654. 我的回答能解决你的问题吗?我基于你问题中的代码,但我不确定这是否与生成这些截图的代码相同。是的,非常感谢你的帮助!!这确实奏效了