Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: PavelVX от Сентябрь 13, 2011, 09:35



Название: Как подменить виджет?
Отправлено: PavelVX от Сентябрь 13, 2011, 09:35
Есть приложение, в нем несколько компоновщиков. В самом центре QHBoxLayout, где правая часть заполнена кнопками управления, а слева нужно показывать виджет который, в зависимости от нажатой кнопки, отвечает за данное действие. Например: картинка, анимация, текст.
Как находу подменять виджет? Пробовал просто перерисовывать виджет с разным наполнением, но тогда они накладываются друг на друга. repaint() не помогает. delete QHBoxLayout, new QHBoxLayout, то же накладывает изображения. У QTabWidget нельзя скрыть закладки :(, а так бы был хороший вариант.
Подскажите!


Название: Re: Как подменить виджет?
Отправлено: alexman от Сентябрь 13, 2011, 09:45
QStackedWidget, QStackedLayout


Название: Re: Как подменить виджет?
Отправлено: lit-uriy от Сентябрь 13, 2011, 17:09
Заведи себе указатель на виджет находящийся слева.
когда нужно его поменять делай так:
временный_указатель = указатель_на_левый_виджет
указатель_на_левый_виджет = некий_новый_виджет
временный_указатель->deleteLater()


Название: Re: Как подменить виджет?
Отправлено: PavelVX от Сентябрь 14, 2011, 08:42
Всем спасибо!
QStackedWidget - вот наш выбор, если необходиме переодически переключаться, на уже созданный виджет.