Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Hellrider от Январь 17, 2013, 20:03



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



Название: Re: Проблема с удалением виджетов в Layout
Отправлено: Alex Custov от Январь 17, 2013, 20:08
Спрятать виджеты через hide().


Название: Re: Проблема с удалением виджетов в Layout
Отправлено: Hellrider от Январь 17, 2013, 20:15
Спрятать виджеты через hide().

А какие побочные эффекты могут быть в компоновке? Какое то чувство есть по этому поводу


Название: Re: Проблема с удалением виджетов в Layout
Отправлено: Alex Custov от Январь 17, 2013, 20:18
Да и вообще, используй QStackedWidget или QStackedLayout


Название: Re: Проблема с удалением виджетов в Layout
Отправлено: Hellrider от Январь 17, 2013, 20:36
Да и вообще, используй QStackedWidget или QStackedLayout

Не совсем понимаю как QStackedWidget или QStackedLayout использовать. У меня два QGridLayout применяющихся к одному виджету.


Название: Re: Проблема с удалением виджетов в Layout
Отправлено: Alex Custov от Январь 17, 2013, 20:55
к твоему вижету добавь QGridLayout, а в него QStackedWidget. Margins в QGridLayout установи в 0. В QStackedWidget добавь две страницы с нужными тебе layouts, и переключай их с помощью QStackedWidget::setCurrentIndex().


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

Все равно не понял  ::) .Можно пример? Какой QGridLayout добавлять в виджет? Что имеется в виду под страницами?


Название: Re: Проблема с удалением виджетов в Layout
Отправлено: Bepec от Январь 18, 2013, 06:50
Почитайте про QStackedWidget


Название: Re: Проблема с удалением виджетов в Layout
Отправлено: Hellrider от Январь 18, 2013, 12:49
Почитайте про QStackedWidget

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