Russian Qt Forum
Сентябрь 30, 2024, 20:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTabWidget высота табов.  (Прочитано 6822 раз)
VergilEx
Гость
« : Август 01, 2011, 08:38 »

Здравствуйте. Пишем гуй на сенсорный монитор. Совершенно не устраивает высота табов в QTabWidget(тяжело пальцем попадать). Как можно их увеличить.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 01, 2011, 09:34 »

Отнаследоваться от QTabWidget и установить ему свой QTabBar.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Август 01, 2011, 10:06 »

Через CSS.
Записан

Qt 5.11/4.8.7 (X11/Win)
climber
Гость
« Ответ #3 : Август 01, 2011, 10:55 »

Например так:
Код:
  
QTabWidget *tabWidget = new QTabWidget;
QSize sz(25, 25);
tabWidget->setIconSize(sz);
При этом Вам не обязательно вставлять иконку для таба
Записан
VergilEx
Гость
« Ответ #4 : Август 01, 2011, 13:45 »

Да этот вариант самый простой Смеющийся. Спасибо большое. Правда без иконки он не сайзит, пришлось поставить иконку и занулить width.
Записан
climber
Гость
« Ответ #5 : Август 01, 2011, 15:01 »

У меня просто на все табы иконки стоят, поэтому не знал, что без них нельзя =)
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Август 01, 2011, 16:27 »

Да этот вариант самый простой Смеющийся. Спасибо большое. Правда без иконки он не сайзит, пришлось поставить иконку и занулить width.
А чем это сложно?
Код
C++ (Qt)
setStyleSheet( "QTabBar::tab { min-height: 120px; }" );
Записан

Qt 5.11/4.8.7 (X11/Win)
climber
Гость
« Ответ #7 : Август 01, 2011, 16:40 »

Да этот вариант самый простой Смеющийся. Спасибо большое. Правда без иконки он не сайзит, пришлось поставить иконку и занулить width.
А чем это сложно?
Код
C++ (Qt)
setStyleSheet( "QTabBar::tab { min-height: 120px; }" );

Согласен, такой вариант подходит как нельзя лучше для данной конкретной задачи, поскольку setStyleSheet устанавливает min-height для всех табов. Однако это не всегда удобно, когда используешь табвиджеты для разных целей (с разными настройками вкладок).
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #8 : Август 01, 2011, 16:45 »

Цитировать
Однако это не всегда удобно, когда используешь табвиджеты для разных целей (с разными настройками вкладок).
Хм, а хардкодить это удобно Непонимающий Можно для конкретного указать.
Записан

Qt 5.11/4.8.7 (X11/Win)
climber
Гость
« Ответ #9 : Август 01, 2011, 16:50 »

Цитировать
Однако это не всегда удобно, когда используешь табвиджеты для разных целей (с разными настройками вкладок).
Хм, а хардкодить это удобно Непонимающий Можно для конкретного указать.

Каким образом? Если вот так, то все равно это ко всем табвиджетам применится
Код:
  QTabWidget *tabWidget = new QTabWidget;
  tabWidget->setStyleSheet("QTabBar::tab { min-height: 120px; }");
Или я что то не правильно понимаю?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #10 : Август 01, 2011, 16:54 »

Цитировать
Или я что то не правильно понимаю?
Именно. Читай руководство.

Код
C++ (Qt)
qApp->setStyleSheet("QTabBar#your_tab_widget_name::tab { min-height: 120px; }");
« Последнее редактирование: Август 01, 2011, 16:56 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
climber
Гость
« Ответ #11 : Август 02, 2011, 08:34 »

Спасибо, буду знать
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.096 секунд. Запросов: 23.