在QGridLayout中居中跨越多个列的按钮

时间:2011-03-02 17:41:13

标签: qt button qt4 alignment grid-layout

我有一个跨越Grid Layout中两列的按钮。按钮大约是其单元宽度的一半,我希望它居中。

gridLayout->addWidget(btn3, 2, 6, 1, 2);

对齐单元格左侧的按钮,我认为这是默认值。我试过了

gridLayout->addWidget(btn3, 2, 6, 1, 2, Qt::AlignHCenter);

,按钮消失。我的按钮在哪里,为什么它不在我的布局单元的中心?

我在Linux中使用QT opensoure(ubuntu 10.04)。

一点背景:

gridLayout->addWidget(btn1, 2, 3);
gridLayout->addWidget(btn2, 2, 5);
gridLayout->addWidget(btn3, 2, 6, 1, 2);
gridLayout->addWidget(btn4, 2, 8);
gridLayout->addWidget(btn5, 2, 10);

我希望btn3位于其双列跨越单元格的中心,但是当我尝试将Qt:AlignCenter作为addWidget()方法中的第6个参数传递时,btn3消失了。

1 个答案:

答案 0 :(得分:2)

您使用的ColumnSpan为2,您的按钮可能位于gridLayout的其他Widget下。尝试将代码更改为:

gridLayout->addWidget(btn3, 2, 6, 1, 1, Qt::AlignCenter);

对我来说很好。