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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с удалением виджетов в Layout  (Прочитано 4417 раз)
Hellrider
Гость
« : Январь 17, 2013, 20:03 »

Ситуация такая - есть 2 лайоута, которые сменяют один другого при необходимости. Перед сменой я удаляю например лайоут a в котором расположены виджеты, и создаю лайоут b где добавляю другие виджеты, но старые виджеты, которые были в лайоут a, остаются и в лайоут b. В итоге это все дело смешивается в кашу. Как можно убрать виджеты из лайоута не удаляя их? пробовал перед удалением самого лайоута через removeWidget() убрать их, но ничего не получается.

Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Январь 17, 2013, 20:08 »

Спрятать виджеты через hide().
Записан
Hellrider
Гость
« Ответ #2 : Январь 17, 2013, 20:15 »

Спрятать виджеты через hide().

А какие побочные эффекты могут быть в компоновке? Какое то чувство есть по этому поводу
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Январь 17, 2013, 20:18 »

Да и вообще, используй QStackedWidget или QStackedLayout
Записан
Hellrider
Гость
« Ответ #4 : Январь 17, 2013, 20:36 »

Да и вообще, используй QStackedWidget или QStackedLayout

Не совсем понимаю как QStackedWidget или QStackedLayout использовать. У меня два QGridLayout применяющихся к одному виджету.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Январь 17, 2013, 20:55 »

к твоему вижету добавь QGridLayout, а в него QStackedWidget. Margins в QGridLayout установи в 0. В QStackedWidget добавь две страницы с нужными тебе layouts, и переключай их с помощью QStackedWidget::setCurrentIndex().
Записан
Hellrider
Гость
« Ответ #6 : Январь 18, 2013, 01:10 »

к твоему вижету добавь QGridLayout, а в него QStackedWidget. Margins в QGridLayout установи в 0. В QStackedWidget добавь две страницы с нужными тебе layouts, и переключай их с помощью QStackedWidget::setCurrentIndex().

Все равно не понял  Строит глазки .Можно пример? Какой QGridLayout добавлять в виджет? Что имеется в виду под страницами?
Записан
Bepec
Гость
« Ответ #7 : Январь 18, 2013, 06:50 »

Почитайте про QStackedWidget
Записан
Hellrider
Гость
« Ответ #8 : Январь 18, 2013, 12:49 »

Почитайте про QStackedWidget

Я читал. Но там переключение только для отдельных виджетов со своими лайоутами. Вот нашел пример с отдельными виджетами http://cppe.ru/index.php/C%2B%2B/Qt/QStackedWidget
А мне нужно что-то типа QStackedWidget, только вместо виджетов туда добавлять лайоуты.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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