crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QToolBox, как очистить все вкладки?
zss
  опции профиля:
сообщение 22.10.2009, 13:16
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


не понял как очистить все вкладки.
Например для QTabWidget есть метод clear.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 22.10.2009, 14:30
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


ну нет и не беда .
удали через removeItem();

П.С.
почему название темы не отражает сути вопроса?
:(

Сообщение отредактировал kwisp - 22.10.2009, 14:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 22.10.2009, 20:55
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(kwisp @ 22.10.2009, 15:30) *
ну нет и не беда .
удали через removeItem();


не получается, т.к. после первого же удаления похоже смещаются внутренние данные.
В результате не все страницы удаляются.

Ну типа удаление элемента контейнера через итератор в цикле. Приходится после удаления корректировать итератор.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 22.10.2009, 22:44
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(zss @ 23.10.2009, 0:55) *
Ну типа удаление элемента контейнера через итератор в цикле. Приходится после удаления корректировать итератор.
используя итератор ты должен удалять один и тот же элемент
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 23.10.2009, 4:44
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 22.10.2009, 23:44) *
используя итератор ты должен удалять один и тот же элемент

не понял ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.10.2009, 10:01
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


zss, приведи свой код
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 24.10.2009, 14:24
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 23.10.2009, 11:01) *
zss, приведи свой код

сейчас просто цикл

for (int i = 0; i < countItems; ++i) { toolBox->removeItem(i); }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 24.10.2009, 14:40
Сообщение #8


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Нужно удалять не с первой вкладки, а споследней.
Если делать так как ты это делаешь
for (int i = 0; i < countItems; ++i) { toolBox->removeItem(i); }

то при countItems==10, то удалив 5 элементво в toolBox останется 5, а при следующей итерации ты будешь удалять 6 элемент, которого нет. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.10.2009, 15:15
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


while (toolBox->count()) {
    toolBox->removeItem(toolBox->count()-1);
}
Всегда удаляем последний, если он есть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.7.2024, 19:21