crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Динамическая загрузка формы, путь движения развития
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  


Цитата(ViGOur @ 6.7.2011, 16:57) *
я не совсем понял, как это будет работь у тебя.
Попробовал создать виджет с элементами на нем динамически, после чего сохранил в *.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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 9:39