LINUX.ORG.RU

Посоветуйте графический тулкит

 ,


0

2

Вот есть нодные редакторы в софтинах наподобие Гудини и т.п.
В каком графическом тулките есть нормальный набор виджетов для реализации подобного, пофиг как они реализованы изкаропки и сторонними компонентами.
Желательно ткнуть в примерчик сразу, а то гугл в понедельник утром ко мне не дружелюбен.
Софтина просто мордой для сети будет, так что пофиг что там за язык.

Может QtQuick/Qml попробовать если лениво будет разобратся в чужом? - там рисовать удобно, хоть и с нуля приходится. Раз морда, можно было и html5 canvas но там растровая графика, что не так приятно как описывать сцену в декларативном стиле.

q0tw4 ★★★★ ()
Ответ на: комментарий от q0tw4

Раз морда можно и html5 canvas

мои хомяки не одобряют

если лениво будет разобратся в чужом?

щас по примерам пробегусь - посмотрим что найду

proofit404 ()

В Qt есть QGraphicsScene. Эдакий scene graph: Заполняешь его нодами, вешаешь обработчики событий на них, и он сам потом всю эту иерархию рисует с возможными оптимизациями. Достаточно удобно. Из аналогичного и разухабистого еще можно на JavaFX посмотреть.

Amp ★★★ ()
Ответ на: комментарий от proofit404

Ноды - это QGraphicsItem. Есть ряд заранее определенных graphicsitem-ов (геометрические примитивы, текст, битмап), можно наследовать свой с кастомной отрисовкой. Там что угодно можешь рисовать, хоть виджеты.

Amp ★★★ ()
Ответ на: комментарий от Amp

Вот qml это новая вариация на тему QGraphicsScene. Меньше напрягает мозг, так как всё описывается на простом понятном языке и скриптуется жабаскриптом. Можно подключить Qt виджеты к qml, так что если чего-то нету, всегда можно спустится на уровень C++ и сделать всё что необходимо там

q0tw4 ★★★★ ()
Ответ на: комментарий от q0tw4

Вот qml это новая вариация на тему QGraphicsScene.

Очень странная вариация. Там нет ряда элементарных вещей - эллипсов, линий, дуг, полигонов. Их конечно можно сделать «спустившись на уровень C++», написав еще кучу связующего кода, но подобные решения вызывают недоумение.

Amp ★★★ ()
Ответ на: комментарий от q0tw4

Надо сделать 1 раз и навсегда. Может к qt5 всё уже будет.

У меня ощущение, что та концепция декларативного UI, что они видят, просто не предполагает таких вещей «искаропки». И я совершенно не понимаю почему. Им бы components допилить и протащить в qt5, вместе с пачкой glsl-эффектов, что они в бложике упоминали.

Amp ★★★ ()
Ответ на: комментарий от Amp

Кстати элипсы можно делать картинками в svg. Мне вот непонятно, почему они не хотят заимплементить целый тулкит в qml. Тогда ведь можно было бы изучать и править виджеты и шкуры им ставить без втыкания в глубины Qt. Особенно клёво было бы портировать qml например на html5 (прямо на скрипте) и иметь Qt в браузере без нативных екстеншенов. Но получилось у них что-то уж слишком низкоуровневое, если только не юзать спрайты. Наверно на спрайты весь расчет был.

q0tw4 ★★★★ ()
Ответ на: комментарий от q0tw4

Ну в своих примерах они так и делают - то svg, то png. А кроме примеров и мелких демок ничего и не видать. Вместо расхваливания и расписывания прекрасного будущего этой технологии, взяли бы, да написали на нем работающее приложение уровня сложнее «hello, world».

Amp ★★★ ()
Ответ на: комментарий от Amp

Я видел диджейскую прогу, правда она компилится только под мобил.

q0tw4 ★★★★ ()
Ответ на: комментарий от q0tw4

и скриптуется жабаскриптом

а это я так и не понял зачем, js и декларативность у меня в голове противоречивые вещи

proofit404 ()
Ответ на: комментарий от proofit404

Ну там хитрая фишка есть - когда пишеш obj.width = parent.width - 10 у тебя связываются свойства и изменение одного влияет на другое. Я не разбирался как это работает, но в результате мы имеем декларативность: мы не указываем когда выполнять вычисление - оно само выполняется когда одна из зависимостей обновится..

q0tw4 ★★★★ ()
Ответ на: комментарий от q0tw4

то что оно само срабатывает на события это хорошо конечно, но чем-то js меня настораживает :)

proofit404 ()
Ответ на: комментарий от q0tw4

например, мне более нравятся подвижки в кодогенерации, когда на декларативных хаскелях/кложах генерится тулкитовозависимый код

proofit404 ()
Ответ на: комментарий от proofit404

Поздравить меня с разморозкой чтоли надо? Где такое уже придумали? Или ты кодогенерацией называешь развёртку синтаксического сахара стрелок на хаскеле? Кодогенерацией гуёвого кода, насколько мне известно, страдают только визуальные дизайнеры + еще язык фауст (но он заточен под обработку звука). Остальные просто юзают обобщенный тулкит, который в зависимости от конфингурации директит вызовы реальным тулкитам.

q0tw4 ★★★★ ()
Ответ на: комментарий от Amp

Вместо расхваливания и расписывания прекрасного будущего этой технологии, взяли бы, да написали на нем работающее приложение уровня сложнее «hello, world».

По ходу виджеты плазмы на qml должны быть примером чего-то чуть более продвинутого.

Pavval ★★★★★ ()
Ответ на: комментарий от Amp

В 5рке есть canvas для qml, а также все qlsl эффекты из коробки, можно сложные штуки прямо в qml рисовать, а если совсем надо, то можно подрубить QtQuick3D и получить нормальную 3х мерную сцену

Gorthauer ★★★★★ ()
Ответ на: комментарий от q0tw4

у хаскеля начиналось что-то каноничное, но там как свой тулкит хотели. Названия не вспомню.

proofit404 ()
Ответ на: комментарий от Pavval

По ходу виджеты плазмы на qml должны быть примером чего-то чуть более продвинутого.

KDE, похоже, на QML перелезает от неизбежности, не получая от этого каких-то ощутимых преимуществ. По-моему у меня такая фигня появилась как раз с переходом https://lh4.googleusercontent.com/-Qqe46e1Z5qI/UCDGEULe0FI/AAAAAAAAB2c/VTs0pK...

Amp ★★★ ()
Ответ на: комментарий от Gorthauer

Canvas штука конечно реально нужная, но для отрисовки простых вещей вроде линии или кривой - это как из пушки по воробьям. Кстати, судя по документации, какие-то предопределенные эффекты (например glow и shadow) они в Qt5 так и не добавили. И Rectangle я все также не могу залить каким-то градиентом отличным от линейного вертикального.

Amp ★★★ ()
Ответ на: комментарий от Amp

KDE, похоже, на QML перелезает от неизбежности, не получая от этого каких-то ощутимых преимуществ.

IMHO их никто на QML силой не пересаживает. Без него еще 100 лет все будет работать.

Pavval ★★★★★ ()
Ответ на: комментарий от Amp

qml позволит легче реюзать и кастомизировать компоненты. Вот представь, что для того чтоб сменить стиль виджетов достаточно просто подменить их картинки. Ну а в более сложном случае qml файлики. И не надо никаких наследований от класса вида кнопко, вида ползунок, и.т.п, потом компилирования этого всего и загрузки. Это всё позволит разрабатывать детальную настойку внешнего вида для http://kde-look.org даже непрограммистам.

q0tw4 ★★★★ ()
Ответ на: комментарий от q0tw4

qml позволит легче реюзать и кастомизировать компоненты.

Да раньше, насколько я понимаю, код писать особо тоже не надо было. Вот сегодня кстати увидел преимущество QML - в 4.9, в KWin, какой-то баг всплыл, который будет починен в 4.9.1. Но как временное решение разработчики предлагают наложить патч, благо касается он текстового qml-файла.

Amp ★★★ ()
Ответ на: комментарий от Pavval

IMHO их никто на QML силой не пересаживает. Без него еще 100 лет все будет работать.

Вот, месяц-два назад была тема про отходящего от дел разработчика Dolphin. Он сетовал на то, что переписывать на QML с релизом Qt5 рано или поздно придется, но это все нудная и неинтересная ему задача. С другой стороны, активное использование QML в KDE, будет способствовать развитию и улучшению стабильности этого модуля Qt.

Amp ★★★ ()
Ответ на: комментарий от Amp

Такое чувство что qml скоро форкнется, может быть даже и мною, чтоб обрести максимум встроенных эффектов, фигур и возможностей. Даёшь замену умирающему флешу!

q0tw4 ★★★★ ()
Ответ на: комментарий от Amp

С другой стороны, активное использование QML в KDE, будет способствовать развитию и улучшению стабильности этого модуля Qt.

Это да.

Pavval ★★★★★ ()
Ответ на: комментарий от q0tw4

Зачем форкать? Просто напиши свой набор компонент, базовые принципы там замечательные же.

Gorthauer ★★★★★ ()

как можно скачать программу

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.