这个问题说明了一切。
我有一个5×3格。
它看起来像这样
row 0: buttonA--buttonA--buttonA nothing buttonB--buttonB--buttonB
row 1: empty row
row 2: buttonC nothing buttonD nothing buttonE nothing buttonF
在空间那里是不是整个列或行的最低行高和所有的这些设置会工作。对?
好。按钮A和按钮B(以及其余部分),永远不会集中于那些3个细胞它们共享。决不。无论doesn't我写的东西上布局的参数。
我删除的代码,因为它最终使用垂直布局得到了它,并且里面,两个水平布局。那些得到集中的方式。但我想给他们更好地定位。
添加窗口小部件时,使用的是什么doesn't工作是:
addWidget(插件,0,0,2,0,QT :: AlignHCenter);甚至没有AlignCenter工作。
如何使它居中或右对齐?
谢谢!
QGridLayout::addWidget()的语法是这样的:
无效QGridLayout :: addWidget(QWidget的*插件,INT fromRow,INT fromColumn,INT ROWSPAN,INT columnSpan,QT ::对准对准= 0)
与描述:
该版本增加了给定的窗口小部件的单元网格,跨越多个行/列。电池将在fromRow开始,fromColumn跨越rowspan的行和列columnSpan。
这意味着你的行
addWidget( widget, 0, 0, 2, 0, Qt::AlignHCenter );
有fromRow = 0
,fromColumn = 0
,rowSpan = 2
和columnSpan = 0
。这意味着,它从0行开始和跨越两行,即它会在0行和1(注意:有两排在总,而不是两个附加行)。此外,它从0列开始为0的跨度,我认为意味着列跨度被忽略。
所以,你真正想要的应该是:
addWidget( widget, 0, 0, 0, 3, Qt::AlignCenter );
你可能有与对准了一下实验。