LINUX.ORG.RU

Моднявые GUIёвины

 , ,


2

4

Всем привет! Хочу начать проект для себя и хотел бы рисовать граф красиво, стильно, молодёжно и чтобы при нажатии на кружочки выскакивали подсказки или были переходы на другие формы. Гуи делал до этого только на Qt\Delphi и тут осознал, что не понимаю на чём сейчас их делают.

Есть ли смысл брать Electron для десктопа? Или мне просто можно генерить хитрым способом SVG и показывать его в окне?

В общем, хочется современный GUI попробовать. Что подскажите? Придумали ли что-то лучше делфи и Qt?

p.s. хотелось бы чтобы запускалось на офтопике и онтопике.

★★★★

Ну это зависит от задачи.

Тотже Gtk+ или WxWidgets никто не отменял.

cvv ★★★★★
()

Qt в целом оптимальнен, как альтернативу я бы рассматривал только FLTK(используя для симпотишности cairo) или SDL(чисто через поверхности или в крайнем случае через 2D встроенную отрисовку сделать весьма приятную пользовательскую графику). Первый хорош простотой и терпимым ООП, второй будет шустрее при грамотной реализации(минус в ), третий можно обернуть например в Lua и получить очень гибкую систему, узкую, но шуструю и оптимизированную под задачу.

AKonia ★★
()
Последнее исправление: AKonia (всего исправлений: 1)

Хочу начать проект для себя

Для себя на чем хочешь делай. В чем смысл топика?

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

SDL для GUI - это не из пушки по воробьям?

К тому же в нём надо будет отдельно реализовывать процедуры выделения текста, например, интеграция с системой у него не такая большая.

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

чисто пример lite, да и всё перечисленное вполне можно сделать и без возьни, по паре десятков строк на плюшку и подчеркну, что идея именно в том, чтобы на Си сделать критичный инструментарий, а всё остальное крутить через сценарии.

AKonia ★★
()
Последнее исправление: AKonia (всего исправлений: 3)
Ответ на: комментарий от gedisdone

SDL для GUI - это не из пушки по воробьям?

Тут, я думаю, должна быть обратная аналогия, учитывая что в SDL2 нет графических примитивов и абсолютно всё нужно будет делать руками.

EXL ★★★★★
()

Ну раз Delphi знаешь.

MseIDE/MseGU - компилятор freepascal.

WinAPI/X11 (без GTK/Qt).Интерфейс и API на любителя.

Жаль Мартин умер (разработчик).

fpGUI - Lazarus/freepascal/+свой дизайнер форм.

https://wiki.lazarus.freepascal.org/fpGUI_Interface

anonymous
()

Electron конечно же, только там не найдешь многих базовых элементов, только если extjs брать...

stasolog
()

Лучше qt5 ничё нет, ждёт нативных раст гуёв, иначе так и будем как дебичи electron жрать.

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

Стандартно плюсану за Qt5 + QCustomPlot

Qt5 как вариант, но QCustomPlot вроде же только диаграмки показать, а не интерактивные хитровыдуманные элементы

AntonyRF ★★★★
() автор топика

Кстати, никогда не брал Java в руки, хороший вариант чтобы попробовать. Там тоже все плохо?

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

Легко расширить до необходимого фукнционала, я поверх QCustomPlot даже делал рисование выделения области, в которую нужно масштабироваться

Там сначала основное рисуется, а сверху самому можно

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от AntonyRF

Ну вот и ответ. Потыкайте, каких там свистоперделок в QML навезли, а там уж на что-то другое зазёвываться можно. Да даже и на Qt4 уже всякие анимации можно было делать.

mertvoprog
()

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

ukr_unix_user ★★★★
()
Последнее исправление: ukr_unix_user (всего исправлений: 1)
Ответ на: комментарий от AntonyRF

Для полной кастомщины QGraphicsScene — и волосы будут мягкие и шелковистые.

deep-purple ★★★★★
()
Ответ на: комментарий от ukr_unix_user

пиши на том, на чем написан azpainter

В гитхабе пишут, что он на Xlib. Боюсь что специалистов, которые умеют писать на Xlib уже не осталось.

Но в целом согласен. Хвалёный Qt это ужасный тормоз по сравнению с GDI, наверное и с Xlib такая же ситуация.

fsb4000 ★★★★★
()

на чём сейчас их делают на браузерных движках Origin - QtWebEngine Telegram - Qt Discord - Electron Steam - Chromium Embedded Framework

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

Вот ещё посмотри: https://philippegroarke.com/posts/2018/c++_ui_solutions/

Хоть и за 2018 год подборка, но там гораздо больше рассмотрели, чем в этой теме.

судя по всему чего-то лучше не найти

Смотря в чём лучше. Если лучшесть это про потребление ресурсов, то например Nuclear, который предложил в этой теме @monk, гораздо легковеснее чем Qt или QML.

fsb4000 ★★★★★
()

Если хочешь, чтобы кроссплатформенно и без маргинальщины, это только Qt и Electron.

pekmop1024 ★★★★★
()
Последнее исправление: pekmop1024 (всего исправлений: 1)

Qt Quick без вариантов.

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

Смотря в чём лучше.

По возможностям кастомизации контролов

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

Qt может и тормоз, но он уровнем куда выше + кроссплатформенный.

Siborgium ★★★★★
()

На самом деле очень понравился racket gui. Работает везде, можно упаковать в бинарник.

Очень хорошо смотрится WPF. Прекрасно чувствует себя pharo (по моему morphic). Из низкоуровнего Nuklear для Pure C. Не плох Flutter. В конце концов Electron - тот же Visual Code на нем и вполне себе бегает бодро. Тут от прямоты рук скорее.

Qt хорош, но программирование мышкой как в Delphi не есть хорошо. Qt нужен там где нужен тебе С++, а таких задач не так уж и много.

silver-bullet-bfg ★★
()

QML не советую. Это overhead по возможностям, которые скорее всего тебе будут излишними. Плюс тот же по сути Electron, но с ущербной поддержкой JS (он там свой и не полный). Единственный плюс - можно дергать Qt либы, но это опять же - для Node есть все, что надо для декстопа. А чего нет можно через ffi пробросить

silver-bullet-bfg ★★
()
Ответ на: комментарий от silver-bullet-bfg

+1, я хоть и не вебмакака, но чисто как пользователь против Электрона ничего не имею, кроссплатформа + веб = идеально, и мечтаю чтобы Qt тоже стал работать на вебке однажды, при том что про Emscripten/HTML5 бэкенды Qt5 осведомлен

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Его выпилили из стандартной поставки JDK, теперь это отдельный пакет с кучей проблем и без официальной поддержки.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от gedisdone

Swing/AWT всё так же находится в JDK, но вряд ли его можно современным и моднявым назвать. Только крупным компаниям типа JetBrains удалось его «осовременить» для своих продуктов типа IDEA.

Есть ещё SWT, который используется в Eclipse и продуктах на его платформе. Но деплой SWT-приложений из-за нативных компонентов несколько осложнён, это уже не «Write once, run anywhere», как хотелось бы.

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

Нууу... Можно на базе eclipse сделать приложение.

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

Там свой тулкит же. Xlib только как бэкенд.

GTK+ (ой, уже Gtk) катится в говно, Qt катится в говно, EFL из него и не выкатывался, всякое вырвиглазие не в счёт — одна надежда на mlib, короче. GTK+-то в своё время тоже из набора «кисточек» для графического редактора вырос.

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

Если интересно, то выбрал QGraphicsScene. Самое простое решение КМК для рисовалки

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

Зато в J2ME всё как было отлично, так и есть: берёте Canvas/GameCanvas и рисуете всё сами :P Для совсем ленивых есть LWUIT, на последних S40-нокиях из коробки даже, можно в пакет не класть.

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

GTK+-то, между прочим, давно работает! (см. broadwayd)

Спасибо, не знал, весьма интересно

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