【发布时间】:2017-11-14 10:10:57
【问题描述】:
我对 Qt 比较陌生,我通过 PySide 访问它。
我想要垂直滚动的内容列表很长。
水平尺寸不是问题。为此,我尝试使用QScrollArea。这是一个最小的例子:
import sys
import PySide.QtGui as gui
application = gui.QApplication(sys.argv)
window = gui.QScrollArea()
list = gui.QWidget()
layout = gui.QVBoxLayout(list)
for i in range(100):
layout.addWidget(gui.QLabel(
"A something longish, slightly convoluted example text."))
window.setWidget(list)
window.show()
sys.exit(application.exec_())
会发生什么:
滚动区域将其水平大小设置为标签所需的大小
注意到垂直空间不足,添加了垂直滚动条。
由于垂直滚动条,现在水平空间也不够了,所以水平滚动条也显示出来了。
我可以使用setHorizontalScrollBarPolicy 使水平滚动条消失,但主要问题仍然存在:垂直滚动条会遮挡部分标签。
如何将滚动区域的宽度设置为不需要水平滚动条的最小值?
【问题讨论】:
标签: python qt pyside qscrollarea