QT Designer LITE-edition, Свой маленький дизайнер форм |
Здравствуйте, гость ( Вход | Регистрация )
QT Designer LITE-edition, Свой маленький дизайнер форм |
nightmare |
27.3.2010, 1:10
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 27.3.2010 Пользователь №: 1572 Спасибо сказали: 0 раз(а) Репутация: 0 |
Необходимо сделать редактор форм для своих собственных XML файлов по типу qt designer. Открыл исходные коды дизайнера и даже не знаю куда смотреть. Мне необходимо узнать как сделать формачку на которую можно класть кнопки и другие элементы. Вобщем то можно было бы свой велосипед изобрести, но не знаю даже с какова виджета начинать. Это мой первый более менее нормальный проект на QT. Как рисовать рамку выделения элементов? Рисовать кнопки и таблицы которые потом можно перетягивать мышкой? Мне будет достаточно пару напутственных слов в каком месте копать.
Заранее благодарен. |
|
|
ViGOur |
27.3.2010, 14:36
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
1. Создаешь форму, на которой будут лежать твои элементы.
2. Создаешь панель выбора элементов. 3. При выборе определенного элемента в панеле и клике на форме, получаешь координаты клика и на том месте динамически создаешь выбранный элемент. 4. Реализуешь перетаскивание элемента мышью по форме. 5. Реализуешь изменение размеров элемента на форме (растянивание или работа с компановкой). Ну и потому при сохранении получаешь все дочерние элементы и сохраняешь их куда-нибудь... Все в принципе достаточно тривиально. |
|
|
nightmare |
27.3.2010, 15:54
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 27.3.2010 Пользователь №: 1572 Спасибо сказали: 0 раз(а) Репутация: 0 |
Если динамически создавать именно те классы коотрые положил на форму, а не рисовать пэинтером, получается нужн оделать фильтр событий для всех этих элементиков на клик. Просто я хотел узнать какой механизм используется в дизайнере что бы так же делать. Думал может кто знаком с его кодом.
|
|
|
ViGOur |
27.3.2010, 16:03
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Тебе же нужен просто редактор форм, следовательно никаких фильтров события для кликов тебе делать не нужно, кроме тех, что я перечислил. Хотя их можно сделать тоже, но для чего?
Можно и рисованием обойтись, но тогда тебе нужно будет создать или классы для рисования всех элементов, по одному на каждый элемент, для них так же реализовывать функционал на перенос и изменение размеров, с лайоутами вообще будет гемор. Или держать картинки для каждого элемента и так же морочиться. ИМХО, проще сделать как я написал выше. А для рисовать рамки выделения элементов нужно просто переопределить paintEvent |
|
|
Litkevich Yuriy |
27.3.2010, 16:06
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
но для чего? Для однообразной реализации следующих пунктов:4. Реализуешь перетаскивание элемента мышью по форме. 5. Реализуешь изменение размеров элемента на форме (растянивание или работа с компановкой). какой механизм используется в дизайнере что бы так же делать в дизайнере наверняка используются внутренние премудрости Qt
|
|
|
ViGOur |
27.3.2010, 16:15
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
igor_bogomolov |
27.3.2010, 16:27
Сообщение
#7
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Необходимо сделать редактор форм для своих собственных XML файлов по типу qt designer. Открыл исходные коды дизайнера и даже не знаю куда смотреть. Мне необходимо узнать как сделать формачку на которую можно класть кнопки и другие элементы. Вобщем то можно было бы свой велосипед изобрести, но не знаю даже с какова виджета начинать. Тоже предстоит этим заниматься, где то через недельку - полторы. Реализовывать все необходимо на графической сцене. В качестве, начала и элементарного примера, можно посмотреть diagramscene |
|
|
DEADHUNT |
27.3.2010, 17:35
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
может легче использовать модуль QtDesigner?
|
|
|
Litkevich Yuriy |
27.3.2010, 17:42
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
DEADHUNT |
27.3.2010, 17:50
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
|
|
|
Текстовая версия | Сейчас: 22.12.2024, 18:57 |