Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
TooSober
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 4
#1

Как сделать вкладку невидимой в QTabWidget? - C++ Qt

05.05.2015, 20:21. Просмотров 2066. Ответов 6
Метки нет (Все метки)

Пишу проект, до меня писали его год, в нём QTabWidget используется активно.
Необходимость вкладки скрывать возникла, переписывать код QStackWidget или что-то другое используя - хочется не очень.
Возник вопрос - как сделать вкладку невидимой в QTabWidget? Сам не нашёл (туповат, быть может).
Возможно ли это в принципе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2015, 20:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как сделать вкладку невидимой в QTabWidget? (C++ Qt):

Как сделать QTabwidget прозрачным!
Как сделать QTabwidget прозрачным!

Сделать активноым вкладку QDockWidget
Доброе время суток! Есть QMainWindow, в нем есть ковырнадцать QDockWidget-ов,...

Как ссылаться на объекты внутри QTabWidget?
Здравствуйте. Скажите пожалуйста - как ссылаться на объекты, которые находятся...

Как на QTabWidget прикрутить индикатор оставшихся символов, QLabel к примеру
Здравствуйте. Можно конечно сделать лимит таким образом: void...

Как создать новую вкладку в tabWidget`e?
При нажатие кнопки необходимо создать новую вкладку. Вот мой код, который...

QTabWidget
На виджет, у которого фон задан градиентом, я размещаю элементы, в числе...

6
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
05.05.2015, 20:51 #2
QWidget::visible не работает?
0
yarko
64 / 64 / 18
Регистрация: 31.03.2015
Сообщений: 253
06.05.2015, 10:04 #3
Напрямую сделать никак. Вкладками управляет сам QTabWidget и доступа к ним нету. Можно канешно поискать по типу в child(), но это очень плохая идея и зависит от внутренней реализации табвиджета (которая может менятся без уведомления).
Здесь либо писать свой табвиджет, либо выкручиватся другими елементами.
1
alexey_rage
590 / 390 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
06.05.2015, 10:46 #4
Могу только предложить вариант сделать вкладки прозрачными через:
C++ (Qt)
1
setStyleSheet("QTabBar:tab{background-color: transparent; color: transparent; }" );
Это единственный вариант, который приходит в голову.
1
Байт
Эксперт C
17770 / 11795 / 2450
Регистрация: 24.12.2010
Сообщений: 23,716
06.05.2015, 11:03 #5
А может быть как-то через removeTab - insertTab, отдельно сохраняя сами виджеты?
1
TooSober
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 4
06.05.2015, 11:41  [ТС] #6
Цитата Сообщение от Байт Посмотреть сообщение
А может быть как-то через removeTab - insertTab, отдельно сохраняя сами виджеты?
Похоже что так делать и придётся, а как появится время - писать свой TabWidget, с блэкджеком и сокрытием вкладок)

Добавлено через 3 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
QWidget::visible не работает?
Работает, но не так как нужно - скрывает содержимое вкладки, саму её оставляя. Другими словами - появляется пустая вкладка вместо той, что была до этого.
0
Sph
158 / 42 / 10
Регистрация: 25.08.2014
Сообщений: 345
07.05.2015, 11:48 #7
Невидимыми их сделать никак нельзя, сам столкнулся с такой проблемой. Решение было найдено через удаление-добавление заново, сохраняя при этом ссылку на виджет.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//копируем
QWidget *t_1,*t_2,*t_3;
t_1 = ui->tab_1;
t_2 = ui->tab_2;
t_3 = ui->tab_3;
//удаляем ВАЖНО! удалять от последней к первой иначе сбивается нумирация
ui->Tab->removeTab(3);
ui->Tab->removeTab(2);
ui->Tab->removeTab(1);
//далее добавляем-удаляем по условиям
if(бла-бла-бла)
{
for(int i = 3; i > 0; i--)
    {
        ui->Tab->removeTab(i);
    }
    ui->Tab->addTab(t_3, "Бла-блабла закладонька");
}
Более адекватного решения я не нашел.
2
07.05.2015, 11:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2015, 11:48
Привет! Вот еще темы с решениями:

QT QTabWidget
Используйте теги для вставки кода в свои сообщения! #include...

QTabWidget
#include <QtGui> int main(int argc, char *argv) { QApplication app(argc,...

QTabWidget :)
Добрый день , уважаемые форумчанины , недавно я начал изучать библиотеку Qt, и...

Выравнивание в QTabWidget
Здравствуйте. Как можно выровнять по центру содержимое табов, которое выводится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru