Comments 48
Рендеринг на gpu также означает, что никакие стандартные инструменты accessibility работать не будут?
Век живи — век учись.
Есть где посмотреть сравнение с тем же QT? Интересно насколько отличается производительность.
Видимо с момента написания статьи прошло довольно много времени и на свежей версии dearpygui примеры уже не работают
Считаю что в питоне в гуем явно не все гладко. Qt - слонопотам. Tkinter блин как на ассемблере пишешь. Для относительно простых проектов единственное что я нашел wxPython в связке с wxFormBuilder. И то и то поддерживается небольшим числом энтузиастов. Многого в них не хватает, зачастую доки не свежие. Но я пользую и в целом для лично моих проектов на коленке хватает.
Если этот проект взлетит, будет хорошо. Поживем, увидим.
еще есть PyGTK.
Tkinter как на ассамблее? О_о
Он же как раз таки достаточно высокоуровневый, и для простых gui там самый минимум кода.
Для относительно простых проектов единственное что я нашел wxPython в связке с wxFormBuilder.
PySimpleGUI еще довольно удобный. Это обёртка над Tkinter, Qt и wx.
Tkinter блин как на ассемблере пишешь
По субъективным тыкалкам, ткинтер скорее как пхп: что не пишешь, в итоге всё равно сайт получается весьма специфичный инструмент, и для своей ниши полне неплох. Писать не сильно большие гуишки вполне можно, но если знаешь, что в итоге будет что-то большое, то pyqt лучше. А так, насколько я знаю, под десктопы не так много проектов на питоне, вот и гуи-либ мало. Если условный гугл решит начать писать питоновские десктопы, то и гуишные либы подъедут, и удобная компиляция.
EFL?
Не пробовали PySimpleGUI ? Интересно было бы сравнить эту библиотеку с сабжем...
Никак тиклевый Tk переизобретают? Тогда не хватает стилей еще, чтобы эти интерфейсы можно было оформить как нужно, а не переписывать на чем-то другом.
Пока с ходу смутило несоответствие геометрии отрисовываемой графики геометрии появляющегося окна GUI. Возможно теперь это надо донастраивать дополнительно, тем не менее, на версии 0.8.64 на базовом проекте example
данная оказия произошла:
скриншот
Kivy вроде и на мобилах работает, а хотелось бы полную кроссплатформенность, чтобы и в браузере тоже
питон в браузере, а месье знает толк!
https://github.com/jnmaloney/WebGui
и даже так https://github.com/ggerganov/imgui-ws
Вопрос не столько в питоне, сколько в том, что не хочется делать отдельные гуи под все платформы, хотелось бы реально кроссплатфоменную либу, чтобы не тратить ресурсы на перенаписание гуя.
Я правильно понимаю, что haxe это только js?
Но завявленная кроссплатформеннось звучит круто.
Последняя может как встраиваться в приложение и выполнять собственный байткод, так и транслировать в низкоуровневый C, который в рантайме будет уже без виртуальной машины. Используется в нескольких достаточно успешных играх.
Да я просто подумал что там на js пишуть, а оказалось на haxe, есть конечно сложности с использованием малоизвестных языков, но крутяк.
Пробегусь по основным:
– Тулинг. Уровень сложности средний и зависит от привычек. Выбор IDE есть. Лучшая поддержка у VSCode, хинты от компилятора через LSP. Плагин к Idea может спотыкаться на сложных файлах, но там получше с рефакторингами.
– Дизайн самого языка: простые прикладные вещи – элементарно, во многом схоже с популярными языками, въехать совершенно не сложно. Есть киллерфичи в системе типов и макросов, в коде проектов с активным использованием такого разобраться будет сложнее.
– Кадры. Готовых мало, но стартануть с другого языка не проблема. Но принятие у людей разное. Кто-то сразу влюбляется, кто-то плюется.
– Документация и коммьюнити. Тут все хорошо. Документация отличная, коммьюнити живое.
– Возможность по интеропу с другими языками и платформами самые обширные, но для внедрения уже нужно разбираться.
Если все равно какой язык то попробуйте jetbrains-compose. Я уже пару дней тыкаю - мне нравится.
Сам собирал под десктоп и чисто побаловаться под андроид-достаточно удобно выглдяит кросплатформенные сборки, сам фреймворк выглядит тоже очень удобным. Из минусов-с доками и примерами не очень все хорошо.
ну тут либо тащить обычный гуй в веб через webasm (), ну либо наоборот, здравствуй электрон.
даже не знаю что хуже.
Можно потыкать flutter, ui получается кроссплатформенный, но взаимодействие с ос специфичными вещами происходит через нативный апи
В целом сообщество флуттер движется в сторону создания большого фреймворка (куча либ для разных мелких действий с ос), но на данный момент это скорее юай библиотека вроде реакта, но с более широким набором стандартных компонентов
И стоит заметить что использование флаттер в вебе не даёт каких то преимуществ, в основном неудобства, и годится только для веб-приложений
Бросается в глаза отсутствие сглаживания шрифтов. Ну и то, что на всех темах в статье одинаковый моноширинный, и довольно страшный, шрифт.
Как-то подозрительно сильно похоже на питоновскую обвёртку для ImGui.
По описанию штука интересная. Кто-нибудь сравнивал с PyQtGraph? А то делаю штуку одну, где нужно достаточно быстро обновлять экран. Сейчас сделано как раз на PyQtGraph-е
Инструмент интересный, достоин внимания! Хоть и привык к QT, но для разнообразия и сравнения гляну на новинку внимательней! Спасибо!
import dearpygui.dearpygui as dpg
with dpg.window(label="Ща закодим ui"):
dpg.add_text("Привет, юникод")
dpg.setup_viewport()
dpg.start_dearpygui()
Неплохо для 2021 года.
питонисты, разберитесь с тегами, ни строчки на си, стоит тег си.
Темы — 10 встроенных тем и система пользовательских тем.
А поддержка системных тем есть? Ну там Qt, GTK, да банально акцентные цвета в Windows, если остальное "для 2% юзеров не нужно". С Python всегда была проблема нормальной поддержки всего этого. Было бы приятно увидеть какой-нибудь фреймворк, среди предлагаемых тем в котором была бы "подтянуть из системы".
Так глядишь через пару лет и такой интерфейс придумают:
Интересная штука. Жаль, что только показывают не работает. Красивое.
Убедитесь, что у вас установлен как минимум Python 3.7 (64 бит).
Python 3.8.10
с динамическим контентом эта либа работает очень плохо. Т.е. она недо-immediate недо-retained.
Его потыкаю, надо с tkinter слезать
Быстрый, мощный интерфейс на Python