Найти - Пользователи
Полная версия: [PyQt4] Как нарисовать стрелки связей?
Начало » GUI » [PyQt4] Как нарисовать стрелки связей?
1 2
Enchantner
Собственно, пишу небольшую программку. В ней схема структуры БД отображается, по старинке, прямоугольниками со списками полей. Хочу, как вы уже, наверное, догадались, намутить визуализацию связей между этими прямоугольниками с помощью гнутых стрелок. Вот тут и вопрос - как грамотнее всего рассчитать координаты? Или вообще существует модуль, позволяющий задавать начальную и конечную точки и степень кривизны, чтобы огибать другие объекты? Если бы удалось сделать это в динамике (с тасканием окошек в реальном времени, потипу Yahoo Pipes) - вообще было бы шикарно. Посоветуйте пожалуйста, как грамотнее сделать.
poltergeist
Есть небольшой исходник нодового редактора на питоне, в нём уже реализовано всё что надо и работает он довольно шустро. Тут по сути нет разницы чем рисовать, простая математика, переписать для Qt-шных виджетов думаю будет не трудно: http://dream.com.ua/thetool.html
Enchantner
poltergeist
хм, спасибо, покопаю. Я уж хотел приделывать QWebView, а в нем сгенеренная страничка с JS-либой WiredIT, на основе которой сделан Yahoo Pipes.
PooH
Enchantner
Я уж хотел приделывать QWebView, а в нем сгенеренная страничка с JS-либой WiredIT, на основе которой сделан Yahoo Pipes.
Насчет WiredIT - где посмотреть, не могу найти? Какая лицензия?
Enchantner
PooH
ой, прошу прощения, WireIT. Вот он. Лицензия MIT.
Zubchick
честно говоря, мне предстоит решать такую же проблему. Лично я с математикой как раз проблем не вижу, а вот с кьютом плохо знаком xD
Enchantner
Собственно, реализацию более-менее разобрал - там используется OpenGL, но, блин, вменяемых доков по python-qt4-gl так и не нашел. Где взять, кто-нибудь знает?

АПД: Хотя вроде все, получилось…
pasaranax
если получится сделать хорший виджет, то поделитесь с общественностью ;)
Enchantner
pasaranax
Виджет пока не получилось :) Стрелка отрисовывается нормально. Кому интересно, совсем сырой, но рабочий код - http://pastebin.com/f4b7e53d7

АПД: обновил, устранил некоторые проблемы с рисованием. Теперь можно кучу стрелок намутить.
Enchantner
Собственно, получается такой вот веселый интерфейс :) Не обращайте внимания на связи, они рандомом расставлены, просто общий вид. Со стрелками далеко не все удобно, но вроде все смотрится довольно прилично.



Полный размер (странно, бб-коды не дают сделать картинку ссылкой)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB