Редактор графов |
Здравствуйте, гость ( Вход | Регистрация )
Редактор графов |
l0ki |
20.2.2011, 15:32
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 25.2.2010 Пользователь №: 1485 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, мне предстоит реализовывать графовый редактор (вообще редактор диаграмм Хассе, но это детали) на qt. Функциональность пока простая пользователь мышкой может вводить/удалять вершины и ребра и перетаскивать их. Ну и в последствии надо их как-то сохранять/загружать будет.
Так как сделать мне это надо бы в довольно сжатые сроки, то обращаюсь к вам за помощью, что использовать, чтобы это все реализовать? До этого я на qt делал только программы с таблицами, кнопками и всяким таким, не умею пока работать с рисованием. В общем вопросы следующие: 1. Какие классы qt необходимо использовать для отрисовывания графики и взаимодействия с пользователем. 2. Как поудобнее хранить внутреннее представление графа, стоит ли использовать booost::graph? 3. Стоит ли приплетать сюда svg или это мне не подойдет? Спасибо. |
|
|
Litkevich Yuriy |
20.2.2011, 16:02
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
посмотри демку %QTDIR%\demos\pathstroke
там есть вершинки, которые перетаскиваются мышкой |
|
|
l0ki |
20.2.2011, 16:38
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 25.2.2010 Пользователь №: 1485 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
l0ki |
22.2.2011, 11:12
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 25.2.2010 Пользователь №: 1485 Спасибо сказали: 0 раз(а) Репутация: 0 |
Подскажите еще кое-что. У меня будет некий класс холст, на котором рисуется всякое. Я наследую его от QLabel, скажем, переопределяю события мыши и т. д. А как мне сделать, чтобы этот холст отображался в qt designer как и остальные виджеты, чтобы я могу его там перетаскивать, добавлять в лейауты главного окна и прочее?
|
|
|
Litkevich Yuriy |
22.2.2011, 16:26
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
l0ki |
3.4.2011, 18:46
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 25.2.2010 Пользователь №: 1485 Спасибо сказали: 0 раз(а) Репутация: 0 |
Подниму тему еще раз.
Подскажите как сделать, чтобы для виджета, на котором я рисую (наследованный от label или graphicview) при увеличении размера холста появлялись полосы прокрутки, я пытаюсь запихнуть этот виджет в qScrollArea в дизайнере, но он все равно не прокручивает его, хотя я и указал минимальные размеры больше scrollArea. |
|
|
l0ki |
3.4.2011, 19:27
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 25.2.2010 Пользователь №: 1485 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вообще, я примерно добился чего хотел, но некоторые моменты мне все равно непонятны.
Если я свой виджет для рисования (gPainter) размещаю где-нибудь на форме, а также размещаю на форме QScrollArea (sa), а потом в коде пишу
То виджет появляется внутри scrollArea и прокручивается. Если же я в дизайнере на форме перетаскиваю виджет внутрь ScrollArea, не меняя код, то у меня все это не компилируется и выдается:
Немного не понимаю почему так происходит. Нельзя передавать в QScrollArea::setWidget() виджет, который на форме внутри scrollArea? |
|
|
abc |
4.4.2011, 11:54
Сообщение
#8
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
|
|
|
Текстовая версия | Сейчас: 26.11.2024, 7:02 |