Динамическая загрузка формы, путь движения развития |
Здравствуйте, гость ( Вход | Регистрация )
Динамическая загрузка формы, путь движения развития |
aliks-os |
6.7.2011, 13:35
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 7.4.2010 Пользователь №: 1603 Спасибо сказали: 0 раз(а) Репутация: 0 |
В проекте, есть динамическая загрузка формы.
Форма может быть как для чтения так и для редактирования. В режиме редактирования, виджеты расположенные на форме можно перемещать по форме, изменять их размеры, добавлять новые. Вся эта функциональность уже реализована. Настал этап когда необходимо сохранить изменения на форме обратно в UI файл. Пытался сделать через FormBuilder, но у Qt оказался баг. Этот вопрос мною уже обсуждался здесь ссылка. Так что это направление оказалось провальным. Соответственно возникают вопросы, в каком направлении двигаться, чтобы иметь возможность чтения/записи формы. Сразу возникает мысль вручную парсить каждый виджет расположенный на форме и вручную составлять XML и записывать его в UI файл. Однако, как мне кажется, уйдет немало времени на написание такого парсера. Может, кто нибудь поделиться своими мыслями по данной проблеме. |
|
|
ViGOur |
6.7.2011, 16:57
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
я не совсем понял, как это будет работь у тебя.
Попробовал создать виджет с элементами на нем динамически, после чего сохранил в *.ui файл и вроде все в порядке с открытием. Но вот с отображением в дизайнере не все в порядке... |
|
|
aliks-os |
6.7.2011, 17:36
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 7.4.2010 Пользователь №: 1603 Спасибо сказали: 0 раз(а) Репутация: 0 |
я не совсем понял, как это будет работь у тебя. Попробовал создать виджет с элементами на нем динамически, после чего сохранил в *.ui файл и вроде все в порядке с открытием. Но вот с отображением в дизайнере не все в порядке... А что именно не в порядке? В принципе я уже определился в какую сторону мне идти, но может у вас более красивое решение... |
|
|
ViGOur |
6.7.2011, 18:48
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Если например динамически создать окошко ввода логина и пароля, с лайоутами, то после сохранения в *.ui файл в дизайнере например те же QLabel, QTextEdit и QPushButton не будут видимы. Хотя присутствовать будут. Может я что-то не понимаю в дизайнере, я им просто не пользуюсь...
|
|
|
aliks-os |
7.7.2011, 8:41
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 7.4.2010 Пользователь №: 1603 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ну тут надо смотреть полученный ui. В моем случае, я сначала подгружаю ui, делаю на нем изменения, а потом сохраняю. Как вы наверное читали ответ, которые мне прислали с багтреккера, сохранять через formbuilder можно корректно только простые элементы, а не TableWidget. А он у меня самый популярный виджет . Я решил делать по другому. Загружать ui, а потом его обрабатывать и сохранять как обычный xml
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 18:47 |