我的表单上有一个QHBoxLayout
,其中添加了3个布局。第二个布局包含我提问相关的项目。
我在主布局(QHBoxLayout
)的第二个窗格上有一个QVBoxLayout
。这个QVBoxLayout
添加了一个QScrollArea
并使用addWidget
进行了添加。
这个QScrollArea
是名为 "scrollContents" 的QWidget
的父级,后者包含一个QGridLayout
。
我正在将自定义创建的小部件添加到这个QGridLayout
中,其高度固定。我们现在可以将其视为100px
。
如果此QGridLayout
具有高度总和小于表单本身的项,则会垂直居中这些小部件,并在它们之间保留相同的空间。
如果只有一个小部件,则它会出现在正中间。但我想让它们从上到下列出。
例如:[###代表QScrollArea
的区域,其中有一个带有QGridLayout
的QWidget
。
OK -> DESIRED -> NOT DESIRED AND WHAT HAPPENS
########## ########## ##########
# |item| # # |item| # # #
# |item| # # # # #
# |item| # # # # #
# |item| # # # # |item| #
# |item| # # # # #
# |item| # # # # #
# |item| # # # # #
########## ########## ##########
|item|
|item|
|item|
基本上:如果有9个“行”的空间,当添加一个单一的项目时,它将出现在第5个位置的中间。如果有9个或更多的项目,则它们会按照应有的位置显示。如果有8个或更少的项目,则它们之间的空间将扩大以使它们全部居中。
我该如何解决这个问题?
谢谢。
gridLayout->setContentsMargins(50, 50, 50, 50);
,它确实起作用了。 - Oleg Shparber