Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Caduceus от Января 20, 2010, 22:25



Название: Как в рантайме удалить один из виджетов внутри QSplitter-а
Отправлено: Caduceus от Января 20, 2010, 22:25
У меня есть сплиттер, разделяющий два лайоута. При определенных условиях (если на компе железо слабое) надо один из этих лайоутов убирать, то есть и сплиттер как бы не нужен. Если выставлять просто размер 0, то разделительная полоска сплиттера остается. Как просто убрать элемент из сплиттера?


Название: Re: Как в рантайме удалить один из виджетов внутри QSplitter-а
Отправлено: BlackTass от Января 20, 2010, 22:32
если нужно просто прятать, но не убивать сам объект, то hide() у объекта, иначе просто удалите его да и все.


Название: Re: Как в рантайме удалить один из виджетов внутри QSplitter-а
Отправлено: lit-uriy от Января 20, 2010, 22:33
убирание виджета из QSplitter'а не уберёт саму линию-разделить


Название: Re: Как в рантайме удалить один из виджетов внутри QSplitter-а
Отправлено: Caduceus от Января 20, 2010, 22:34
У лайоута нету hide. Тупо delete сделать нельзя. Надо как-то просто разаттачить этот ненужный лайоут от сплиттера


Название: Re: Как в рантайме удалить один из виджетов внутри QSplitter-а
Отправлено: Caduceus от Января 20, 2010, 22:35
убирание виджета из QSplitter'а не уберёт саму линию-разделить

Дак а как тогда? Руками удалять сплиттер и пересоздавать нужный лайоут?


Название: Re: Как в рантайме удалить один из виджетов внутри QSplitter-а
Отправлено: SABROG от Января 20, 2010, 22:51
При определенных условиях (если на компе железо слабое) надо один из этих лайоутов убирать

Или что еще лучше - не создавать его.


Название: Re: Как в рантайме удалить один из виджетов внутри QSplitter-а
Отправлено: panAlexey от Января 20, 2010, 23:18
При определенных условиях (если на компе железо слабое) надо один из этих лайоутов убирать
Или что еще лучше - не создавать его.
или реализовать QSplitterEx, что тоже вариант не последний.