![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
JohnZ |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Всем Здавствовать !
Несколько вопросов по динамическому конструированию UI. 1. Подскажите плз, какой класс построителя динамической формы ( QFormBuilder или QUiLoader ) использовать предпочтительнее ? В первую очередь интересует минимальный р-р потребляемых ресурсов ОЗУ. 2. Как опросить загруженный файл UI на предмет содержащихся в нём виджетов и их (динамических) атрибутов ? Интересует поиск специфических, т.е. предопределённых атрибутов и их значений ... Заранее благодарен за помощь. Сообщение отредактировал JohnZ - 26.8.2014, 8:56 |
|
|
JohnZ |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Вопросы закрыты. Разобрался.
Админ, удали тему, плз ... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
если не затруднит опиши своё резюме по данной теме, вдруг у кого-то возникнут такие же вопросы.
|
|
|
JohnZ |
![]()
Сообщение
#4
|
Участник ![]() ![]() Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Ок.
1. Работают они почти одинаково, есть небольшая разница во времени появления построенного диалога на экране, QUiLoader чуть медленнее, но это субъективно, за-то ему нужно меньше памяти, т.к. его модуль меньше. 2. В случае, если пишете свой "Дизайнер", предпочтительнее использовать QFormBuilder, т.к. в "довесок" к нему в модуле QT-шного Дизайнера идут класы доступа к элементам Дизайнера QT. С ними я пока не работал, т.к. свою проблему буду решать другим способом, через "фиксированные" алиасные имена и реализацией класса который об этих именах осведомлён :-) 3. В проектируемом диалоге формы элементы "получают" алиасные имена из конфигурации. Подробнее о проекте в ветке "Поиск и выбор узла в QTreeView". 4. Вот реально работающий код, для просмотра формы. Загрузка из QString ...
Сообщение отредактировал JohnZ - 1.9.2014, 16:30 |
|
|
JohnZ |
![]()
Сообщение
#5
|
Участник ![]() ![]() Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
После продолжительных экспериментов.
Добавление: к п.1. QUiLoader к ехе-шнику в добавляет примерно 1 М ( в отладочной версии) QFormBuilder добавляет 0.2 М, т.е. с размером я ошибся, исправить месагу не смог. к п.2 QFormBuilder грузит диалог из файла, а если из буфера, ругается. Причина ругани определена - ему не хватало buf.open(QIODevice::ReadOnly); Ту-же форму QUiLoader грузит без вопросов из буфера, как указано в коде п.4. Все эксперименты в QT 4.5.3 в XP. Позже будет тестироваться в ASP Linux 14 При загрузке формы, как оказалось, у QFormBuilder лежит большая грабля, - он неправильно именует/создаёт класы виджетов. Т.е. к примеру, если форма в дизайнере "положена" на QDialog, он создаёт форму почему-то на QStackedWidget ![]() её распарсить и затем создать проблематично. За QUiLoader-ом пока такого не замечено, но у него свои "мухи" ... Сообщение отредактировал JohnZ - 30.9.2014, 10:19 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 12:29 |