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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: что посоветуете с табами...  (Прочитано 3299 раз)
BuRn
Гость
« : Декабрь 18, 2011, 19:41 »

Вообщем создаю динамически табы, в конструктор передаю номер(индекс) страницы...
Но вот в чем косяк, после некоторых действий мне нужно удалить страницу,а вот индексы могут сбиваться , пример:
создал таб номер 1
создал таб номер 2
удалил таб 1
таб с номером 2 так и остался с номером 2, а по факту он номер 1, следовательно если я попробую сделать удаление по номеру таба то будет фейл
как пересчитывать номер таб виджет
т.е. можно конечно брать текущий, но тут тоже некоторые сложности возникают, при кликах на табы, мне нужно знать номер и остальных страниц...
Записан
BuRn
Гость
« Ответ #1 : Декабрь 18, 2011, 20:11 »

придумал, повесить обработчик на чангет таб, и после присваивать индекс
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Декабрь 18, 2011, 20:22 »

если ты хранишь указатели на страницы табов, то номер страницы всегда можно получить через int QTabWidget::indexOf ( QWidget * w ) const
чангет таб
facepalm.jpg
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
KrupaKarlo
Гость
« Ответ #3 : Декабрь 23, 2011, 15:21 »

Тут есть еще такой вариант. Если ты будешь рубить табы по сигналам от них. То ты можешь в слоте обработки через  sender() получить указатель на tab создавший сигнал и удалить его.  Строит глазки
Записан
fuCtor
Гость
« Ответ #4 : Декабрь 26, 2011, 06:29 »

Если к табам привязан некоторый объект, то не проще ли указатель на него поместить в сам таб => не нужно будет привязываться к индексам. Для этого даже метод есть:
setTabData ( int index, const QVariant & data )
QVariant   tabData ( int index ) const
Даже если там сменит индекс, данные останутся там где надо.
Записан
andrew.k
Гость
« Ответ #5 : Декабрь 26, 2011, 10:18 »

Если к табам привязан некоторый объект, то не проще ли указатель на него поместить в сам таб => не нужно будет привязываться к индексам. Для этого даже метод есть:
setTabData ( int index, const QVariant & data )
QVariant   tabData ( int index ) const
Даже если там сменит индекс, данные останутся там где надо.
Зачем такой изврат? Решение в ответе #2
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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