1

我有一个跨越网格布局中两列的按钮。该按钮大约是其单元格宽度的一半,我希望它居中。

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

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

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

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

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

一点上下文:

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 消失了。

4

1 回答 1

2

您正在使用 2 的 ColumnSpan,您的按钮可能位于 gridLayout 的其他一些小部件下。尝试将您的代码更改为:

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

它对我来说很好。

于 2011-03-02T19:44:59.560 回答