【发布时间】:2012-12-11 14:48:28
【问题描述】:
我的表单上有一个QHBoxLayout,其中添加了 3 个布局。第二个是关于我的问题的项目。
我在主布局的第二个窗格(QHBoxLayout)上有一个QVBoxLayout。
这个QVBoxLayout 添加了一个QScrollArea 和addWidget。
这个QScrollArea 是一个名为“scrollContents”的QWidget 的父级,而后者又包含一个QGridLayout。
我正在向这个具有固定高度的QGridLayout 添加一个自定义创建的小部件。我们现在可以考虑这个100px。
如果此QGridLayout 包含总高度小于表单本身的项目,则它将这些小部件垂直居中,并且它们之间的间距相同。
如果只有一个小部件,它会显示在中间。但我希望它们从上到下列出。
例如:[### 表示QScrollArea 的区域,其中有一个QWidget 和 QGridLayout。
OK -> DESIRED -> NOT DESIRED AND WHAT HAPPENS
########## ########## ##########
# |item| # # |item| # # #
# |item| # # # # #
# |item| # # # # #
# |item| # # # # |item| #
# |item| # # # # #
# |item| # # # # #
# |item| # # # # #
########## ########## ##########
|item|
|item|
|item|
基本上:如果有 9 个“行”的空间,则添加单个项目时,它会出现在中间的第 5 个位置。如果有 9 个或更多,它们将按应有的方式显示。如果有 8 个或更少,则它们之间的空间会扩大到全部居中。
我该如何解决这个问题?
谢谢。
【问题讨论】:
标签: c++ python qt qscrollarea qgridlayout