Название: QTabWidget без TabBar Отправлено: radislav72 от Август 30, 2010, 15:11 Можно ли в виджете QTabWidget программно убрать TabBar с кнопками вкладок?
Суть в следующем: информация в окне группируется по вкладкам, но иногда данные на всех вкладках кроме главной могут отсутствовать, и тогда логично было бы не только сделать их невидимыми (removeTab()), а и скрыть TabBar за ненадобностью. Название: Re: QTabWidget без TabBar Отправлено: GreatSnake от Август 30, 2010, 15:19 QTabWidget::tabBar()->hide()
Название: Re: QTabWidget без TabBar Отправлено: radislav72 от Август 30, 2010, 16:33 QTabWidget::tabBar()->hide() Пробовал, но генерируется ошибка: Код: error: 'QTabBar* QTabWidget::tabBar() const' is protected Или только переписывать класс? Название: Re: QTabWidget без TabBar Отправлено: GreatSnake от Август 30, 2010, 16:35 Цитировать Или только переписывать класс? Ну, а как иначе-то?Название: Re: QTabWidget без TabBar Отправлено: radislav72 от Август 30, 2010, 17:04 Ну, а как иначе-то? Понятно... Думал, может есть более "легальный" способ. Ну нет так нет... переработаем маленько исходник :) Спасибо за ответ. Название: Re: QTabWidget без TabBar Отправлено: GreatSnake от Август 30, 2010, 17:08 Цитировать Понятно... Думал, может есть более "легальный" способ. Нет, способ только такой.А вот почему его тролли так "испортили" мне тоже непонятно. Название: Re: QTabWidget без TabBar Отправлено: Авварон от Август 30, 2010, 17:56 при назначении нового таббара могут быть косяки. В 5.0 вроде исправят
Название: Re: QTabWidget без TabBar Отправлено: Kolobok от Август 30, 2010, 18:57 Можно сделать через css
Код: QTabBar::tab:only-one { Название: Re: QTabWidget без TabBar Отправлено: Авварон от Август 30, 2010, 19:13 да отнаследуйтесь от табвиджета и сделайте метод setTabBarHidden(bool hide) - делов 5 строк, даже .cpp не надо писать, все прям в хедере
Название: Re: QTabWidget без TabBar Отправлено: fuCtor от Август 30, 2010, 19:52 QTabWidget = QTabBar + QStackedLayout
Открываем документацию и находим все что нужно. Свой компонент + полный контроль над поведением. Название: Re: QTabWidget без TabBar Отправлено: JayFOX от Август 31, 2010, 15:32 Могу предложить решение без наследования:
Код: QTabWidget* tab=new QTabWidget; Название: Re: QTabWidget без TabBar Отправлено: radislav72 от Август 31, 2010, 16:40 Могу предложить решение без наследования... То что нужно: большое спасибо! |