LINUX.ORG.RU

Добавить фрейм в форму QT


0

0
Есть форма, на ней расположены 3 (точнее даже 4 - 4ый невидимый)фрейма в порядке top,center,bottom,invisible. Фреймы занимают всю область экрана и разделены раздвижным разделителем. Хочу добавить еще например 2 фрейма и сделать top,frame1,center,frame2,bottom,invisible. Пересоздавать фреймы нельзя, т.к. на них находится нужная информация. Пробовал прятать их и менять геометрию, но что-то не особо получается. Размеры у первоначальных фреймов должны остаться без изменений.

Я не понял, ты хочешь добавлять Фраймы уже после конструктора Виджета?
anonymous
()
ну у меня как бы есть общий виджет, я на него накладываю еще 3(4), разделенные сплиттером на эти верхние виджеты я наношу информацию потом я хочу на нижний виджет добавить еще парочку виджетов верхнего уровня, чтобы новые виджеты находились между старых. И все виджеты должны отделяться друг от друга сплиттерами. Метод show() у виджетов вызывается в нужном порядке, но отображаются они не совсем там где хотелось.А именно, новые виджеты все равно остаются ниже всех 4х начальных виджетов. А хотелось чтобы они были в перемешку.
EraSER
() автор топика
Ответ на: комментарий от EraSER
Я вот как вижу:

на общем Виджете стоит Лайоут в который добавляются Сплиттеры. Когда добавляешь новые Виджеты, то из Лайота удаляешь все Сплиттеры и в новой последовательности собираешь Лайоут заново.

anonymous
()
Ответ на: комментарий от anonymous
Парни, а какую тулзу вы используете ??? Мне было бы тоже интересно с этим побаловаться, по крайне мере пока побаловаться.
anonymous
()
что значит в данном случае "собираешь Лайоут заново" ? Сплиттер один, от него порождены все виджеты верхнего уровня. Еще раз повторюсь - информация на виджетах не должна потеряться
EraSER
() автор топика
Ответ на: комментарий от EraSER
А ты не можешь добавлять сразу 5(6) Виджетов? 3(4) твоих начальных и 2 которые потом. Добавляешь в том порядке в котором они должны быть когда их 5(6),а не нужные прячешь (hide ()), а потом открываешь(show ()).
anonymous
()
нет, не могу. количество добавляемых виджетов не ограничено - я могу не один раз добавлять по 2 виджета и сколько их будет всего заранее не известно

EraSER
() автор топика
Ответ на: комментарий от EraSER
Ну тогда предлагаю следующее

Из сплиттера выводишь всех детей (removeChild (QObject*)), обрати внимание, что дети не удаляются, а просто выводятся из его списка. Затем заново вставляешь в нужном порядке (insertChild (QObject*)) Соответственно, можешь добавить сколько угодно новых детей.

Должно работать.

anonymous
()
Yesssss ! Клево, спасибо !
EraSER
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.