我尝试让我的QGroupBox
在高度超过400像素时可滚动。 QGroupBox
中的内容是使用for循环生成的,以下是一个示例:
mygroupbox = QtGui.QGroupBox('this is my groupbox')
myform = QtGui.QFormLayout()
labellist = []
combolist = []
for i in range(val):
labellist.append(QtGui.QLabel('mylabel'))
combolist.append(QtGui.QComboBox())
myform.addRow(labellist[i],combolist[i])
mygroupbox.setLayout(myform)
由于
val
的值取决于其他因素,无法确定myform
布局的大小。为了解决这个问题,我添加了一个类似于QScrollableArea
的内容:scroll = QtGui.QScrollableArea()
scroll.setWidget(mygroupbox)
scroll.setWidgetResizable(True)
scroll.setFixedHeight(400)
不幸的是,这似乎对groupbox没有任何影响:没有滚动条的迹象。我错过了什么吗?
QGroupBox
放在最终布局里面,而不是放QScrollArea
。现在它正常工作了。 - Chris Aungscroll.setWidgetResizable(True)
对于使小部件实际出现在滚动区域中至关重要。希望这能帮助未来的任何人。 - LoneWanderer