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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Скрыть кнопки или виджеты в QTabWidget  (Прочитано 5843 раз)
vulko
Гость
« : Октябрь 14, 2014, 15:24 »

Пробовал скрывать кнопки табов, но ничего не получилось.

Пробовал скрывать виджеты которые вставляются в табы, но при переключении между табами виджет снова становится видимым.

Я правильно понимаю что добиться скрытия отдельных кнопок в QTabBar нереально без переписывания принципа работы QTabWidget под мои нужды?

Может проще накидать кнопок и добавить QStackedLayout, вместо того чтобы мучаться с наследованием от QTabWidget'а?
Записан
vizir.vs
Гость
« Ответ #1 : Октябрь 14, 2014, 15:32 »

На сколько я знаю, скрыть табы не получится. Можно их либо удалить, либо сделать недоступными.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Октябрь 14, 2014, 18:25 »

Может проще накидать кнопок и добавить QStackedLayout, вместо того чтобы мучаться с наследованием от QTabWidget'а?
Конечно, ведь QTabWidget - это и есть QStackedLayout + QTabBar.
Записан

Qt 5.11/4.8.7 (X11/Win)
Nidxogg
Гость
« Ответ #3 : Октябрь 14, 2014, 18:52 »

Пробовал скрывать кнопки табов, но ничего не получилось.
Если я правильно вас понял, то посмотрите данное решение
http://qt-project.org/forums/viewthread/24364
Записан
vulko
Гость
« Ответ #4 : Октябрь 15, 2014, 07:56 »

Пробовал скрывать кнопки табов, но ничего не получилось.
Если я правильно вас понял, то посмотрите данное решение
http://qt-project.org/forums/viewthread/24364

Спасибо.
Хотелось бы конечно чтобы сама кнопка в таб баре отсутствовала... Но как вариант тоже подойдет.

Кстати и без CSS все точно также работает... Кнопка неактивна и нажать нельзя.
Возможно дело в том что у меня нет текста, а только иконка на кнопке в TabBar'е...
« Последнее редактирование: Октябрь 15, 2014, 08:03 от vulko » Записан
vulko
Гость
« Ответ #5 : Октябрь 15, 2014, 11:34 »

Всем спасибо, решил проблему несколько иначе.

Поскольку нужно было запретить некоторым юзерам доступ к некоторым вкладам, в tab добавил QStackedWidget, а в него 2 виджета - 1 основной, второй с сообщением что у юзера нет прав.
Но это лишь частное решение...

Если нужно скрывать именно кнопки вкладок, лучшим решением, по-видимому, будет использование кастомных qpushbutton + qstackedwidget/qstackedlayout.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #6 : Октябрь 16, 2014, 10:13 »

что бы скрывать кнопки панелей, достаточно обратиться tabBar()->setVisible(index,value)
Записан
vulko
Гость
« Ответ #7 : Октябрь 16, 2014, 15:49 »

что бы скрывать кнопки панелей, достаточно обратиться tabBar()->setVisible(index,value)

tabBar->setVisible(bool visible) есть тока. это скроет весь таббар.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #8 : Октябрь 18, 2014, 11:15 »

а какая версия коте? на 5.3 у меня есть вызов с сокрытием отдельных табов
Записан
vulko
Гость
« Ответ #9 : Октябрь 20, 2014, 09:40 »

а какая версия коте? на 5.3 у меня есть вызов с сокрытием отдельных табов

4.8.3
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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