Центрирование кнопки, охватывающей несколько столбцов в QGridLayout - PullRequest
1 голос
/ 02 марта 2011

У меня есть кнопка, которая охватывает два столбца в сетке. Кнопка имеет примерно половину ширины ячейки, и я хочу, чтобы она была в центре.

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

выравнивает кнопку слева от ячейки, которую я бы принял за значение по умолчанию. Я пытался

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

и кнопка исчезает. Куда делась моя кнопка и почему она не находится в центре моей ячейки макета?

Я использую QT opensoure в Linux (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 (), btn3 исчезает.

1 Ответ

2 голосов
/ 02 марта 2011

Вы используете ColumnSpan, равный 2, ваша кнопка, вероятно, находится под каким-то другим виджетом вашего gridLayout.Попробуйте изменить свой код на:

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

Он прекрасно работает для меня.

...