QT: расположение вкладок в блоке QTabBar

Существует элемент QTabBar с политикой вертикального размера, который расширяется. Я хочу, чтобы вкладки были выровнены по нижней части окна элемента QTabBar, но они всегда появляются сверху.

Я пробовал стилизацию QTabBar и QTabBar::tab с различными комбинациями vertical-align: bottom, alignment: bottom;, bottom:0; но с нулевой удачей. Кажется, что единственное выравнивание, которое действительно работает, это когда я выравниваю горизонтально.

Текущие результаты:

Вкладки отделены от того, куда будет идти контент. И прежде чем предлагать мне не использовать расширяющуюся вертикальную политику. Я должен сделать это так, у меня есть свои причины.

1 ответ

Решение

Выравнивание виджета может быть установлено в содержащем макете, и вы должны использовать ненулевое значение растяжения:

vbox->addWidget(tabBar, 1, Qt::AlignBottom);
vbox->addWidget(otherWidget, 1);

Вкладка будет правильно выровнена, с пустым пространством над ней, но это пространство не будет частью QTabBar (политика расширения будет игнорироваться).

Если вам нужно положить что-то в пространство над QTabBar, вы можете вставить его в нижней части другого посредника QWidget и вставьте этот виджет в макет вместо QTabBar,

Другие вопросы по тегам