Виджет-контейнер |
Здравствуйте, гость ( Вход | Регистрация )
Виджет-контейнер |
fantom |
10.4.2009, 15:45
Сообщение
#1
|
|
Студент Группа: Участник Сообщений: 47 Регистрация: 29.1.2009 Пользователь №: 515 Спасибо сказали: 1 раз(а) Репутация: 1 |
Возникла необходимость сделать виджет-контейнер. По сути это обычный виджет в котором могут находится другие виджеты вместе со своими дочерними виджетами. Работа с ним будет происходить примерно следующим образом: в дизайнере мы переносим мышкой необходимый виджет на виджет-контейнер, и он определяет типы объектов которые на нем находятся(все они наследники от QWidget) и по команде add добавляет внутри себя новый набор виджетов который является клоном того что положили в дизайнере.
Вот тут наглядно что я хочу получить(в упрощенном варианте). Основная проблема в определении типов всех дочерних виджетов виджета-контейнера. Понятно что надо работать с шаблонами c++ но как? Может кто может что подсказать? |
|
|
||
igor_bogomolov |
10.4.2009, 22:50
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Как технически клонировать виджет который содержит внутри себя другие объекты. Работа с ним будет происходить примерно следующим образом: в дизайнере мы переносим мышкой необходимый виджет на виджет-контейнер Отклонусь немного от темы (а мож и не отклонюсь ). По двум недавным обсуждения по поводу динамического создания форм (раз два) родилась следущая мысль. Не знаю на сколько хорошая, но право на жизнь имеющая. (Меня покрайней мере было интересно это реализовать). Итак, вопросс Как технически клонировать виджет который содержит внутри себя другие объекты. Сразу хочу оговориться, с XML опыта работы очень мало, так что если есть способ сократить код или сделать более изящно, сделайте это. Мне прошу не пинать И еще, метод domxmlToString был позаимствован у xintrea здесь (ссылка) Итак, изначально форма, виджет-контейнер и все что в нем, создается в дисигнере. Т.е. мы имее ui файл. шаг №1
шаг №2
шаг №3 (заключительный)
приложение. Описание метода domxmlToString
Вот что получилось у меня(см. прикрепленные рисунки). Как видете я создал два клона части своего приложения, Все свойства при этом сохранены, в том числе и ресурсы. Ух. Я в тему надеюсь ? Даже если не совсем, хвалим меня, я старался |
|
|
Текстовая версия | Сейчас: 2.10.2024, 23:30 |