Qt Увеличить размер QTabWidget QTabBar - PullRequest
21 голосов
/ 13 ноября 2009

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

Я не вижу простого способа сделать это (в настоящее время не вижу никакого хорошего способа даже сделать это вообще. Единственные методы, относящиеся к QTabBar, которые я вижу в QTabWidget, защищены, и я не вижу необходимости наследовать от класс, кроме как для этой цели).

Вопрос:

Что я хотел бы сделать, это просто установить QTabBar на определенный конкретный размер. Это возможно?

Кроме этого, единственное, о чем я могу думать, это создать подкласс QTabWidget, а затем я могу контролировать размер QTabBar, расширяя или переопределяя функции этого класса.

Спасибо.

Ответы [ 2 ]

34 голосов
/ 13 ноября 2009

Если вы не хотите создавать подклассы, вы можете использовать Таблицы стилей Qt , чтобы быстро установить высоту и ширину ваших вкладок, например, так:

// tabWidget is a pointer to a QTabWidget
tabWidget->setStyleSheet("QTabBar::tab { height: 100px; width: 100px; }");
// each tab should now be 100x100px

Обратите внимание, что таблица стилей ссылается на QTabBar, хотя мы вызываем setStyleSheet () для QTabWidget.

7 голосов
/ 13 ноября 2009

Если вы используете Qt Designer, вы можете просто поместить QTabBar::tab { height: 100px; width: 100px; } в свойство таблицы стилей объекта QTabWidget напрямую

...