Как стать автором
Обновить

Комментарии 47

Рендеринг на gpu также означает, что никакие стандартные инструменты accessibility работать не будут?

Вот тоже сразу хотел спросить как у него с доступностью для скринридеров? будет ли адекватно обрабатываться

И с высоким DPI у него проблемы

Каждый день что-то новенькое.
Век живи — век учись.

Есть где посмотреть сравнение с тем же QT? Интересно насколько отличается производительность.

Видимо с момента написания статьи прошло довольно много времени и на свежей версии dearpygui примеры уже не работают

Считаю что в питоне в гуем явно не все гладко. Qt - слонопотам. Tkinter блин как на ассемблере пишешь. Для относительно простых проектов единственное что я нашел wxPython в связке с wxFormBuilder. И то и то поддерживается небольшим числом энтузиастов. Многого в них не хватает, зачастую доки не свежие. Но я пользую и в целом для лично моих проектов на коленке хватает.

Если этот проект взлетит, будет хорошо. Поживем, увидим.

еще есть PyGTK.

Tkinter как на ассамблее? О_о

Он же как раз таки достаточно высокоуровневый, и для простых gui там самый минимум кода.

Для относительно простых проектов единственное что я нашел wxPython в связке с wxFormBuilder.

PySimpleGUI еще довольно удобный. Это обёртка над Tkinter, Qt и wx.

Плюсую, PySimpleGUI - самый быстрый и простой способ набросать gui на коленке.

Tkinter блин как на ассемблере пишешь

По субъективным тыкалкам, ткинтер скорее как пхп: что не пишешь, в итоге всё равно сайт получается весьма специфичный инструмент, и для своей ниши полне неплох. Писать не сильно большие гуишки вполне можно, но если знаешь, что в итоге будет что-то большое, то pyqt лучше. А так, насколько я знаю, под десктопы не так много проектов на питоне, вот и гуи-либ мало. Если условный гугл решит начать писать питоновские десктопы, то и гуишные либы подъедут, и удобная компиляция.

Kivy
Также использую wxpython. Как по мне самый удобный.

EFL?

Не пробовали PySimpleGUI ? Интересно было бы сравнить эту библиотеку с сабжем...

Никак тиклевый Tk переизобретают? Тогда не хватает стилей еще, чтобы эти интерфейсы можно было оформить как нужно, а не переписывать на чем-то другом.

НЛО прилетело и опубликовало эту надпись здесь

Пока с ходу смутило несоответствие геометрии отрисовываемой графики геометрии появляющегося окна GUI. Возможно теперь это надо донастраивать дополнительно, тем не менее, на версии 0.8.64 на базовом проекте example данная оказия произошла:

скриншот

Kivy вроде и на мобилах работает, а хотелось бы полную кроссплатформенность, чтобы и в браузере тоже

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

Если у вас нет предубеждений по языку и нужна хорошая переносимость, посмотрите www.haxeui.org. Вообще, с haxe сложно конкурировать в переносимости, а GUI-библиотеки есть разнообразные. Из концептуально близких Imgui, которой посвящена статья, можно взглянуть на github.com/armory3d/zui.

Я правильно понимаю, что haxe это только js?

Но завявленная кроссплатформеннось звучит круто.

Нет-нет-нет. Haxe транслируется во вполне приемлимый код на JavaScript, C++, C#, Java, Python, Lua, PHP. Также в байткод JVM, Flash, (может быть и для CLR допилят когда-нибудь). Кроме этого есть режим интерпретатора и две виртуальные машины: Neko, которая появилась раньше и используется в основном для тулинга и hashlink.
Последняя может как встраиваться в приложение и выполнять собственный байткод, так и транслировать в низкоуровневый C, который в рантайме будет уже без виртуальной машины. Используется в нескольких достаточно успешных играх.

Да я просто подумал что там на js пишуть, а оказалось на haxe, есть конечно сложности с использованием малоизвестных языков, но крутяк.

Сложности, конечно, есть. Они могут быть совершенно разного характера, в случае haxe какие-то более актуальны, какие-то менее.
Пробегусь по основным:
– Тулинг. Уровень сложности средний и зависит от привычек. Выбор IDE есть. Лучшая поддержка у VSCode, хинты от компилятора через LSP. Плагин к Idea может спотыкаться на сложных файлах, но там получше с рефакторингами.
– Дизайн самого языка: простые прикладные вещи – элементарно, во многом схоже с популярными языками, въехать совершенно не сложно. Есть киллерфичи в системе типов и макросов, в коде проектов с активным использованием такого разобраться будет сложнее.
– Кадры. Готовых мало, но стартануть с другого языка не проблема. Но принятие у людей разное. Кто-то сразу влюбляется, кто-то плюется.
– Документация и коммьюнити. Тут все хорошо. Документация отличная, коммьюнити живое.
– Возможность по интеропу с другими языками и платформами самые обширные, но для внедрения уже нужно разбираться.

Если все равно какой язык то попробуйте jetbrains-compose. Я уже пару дней тыкаю - мне нравится.

Сам собирал под десктоп и чисто побаловаться под андроид-достаточно удобно выглдяит кросплатформенные сборки, сам фреймворк выглядит тоже очень удобным. Из минусов-с доками и примерами не очень все хорошо.

Тоже пытался его тыкать: штука новая, примеры из доки часто не работают, потому что в новой версии вырезали какую-то функциональность, в официальных примерах почти все функции Experimental. Удобно, что кроссплатформенно, но пока писать код неудобно.

ну тут либо тащить обычный гуй в веб через webasm (), ну либо наоборот, здравствуй электрон.

даже не знаю что хуже.

Зависит от того что юзает основная масса пользователей.

Можно потыкать flutter, ui получается кроссплатформенный, но взаимодействие с ос специфичными вещами происходит через нативный апи

В целом сообщество флуттер движется в сторону создания большого фреймворка (куча либ для разных мелких действий с ос), но на данный момент это скорее юай библиотека вроде реакта, но с более широким набором стандартных компонентов

И стоит заметить что использование флаттер в вебе не даёт каких то преимуществ, в основном неудобства, и годится только для веб-приложений

Вроде flutter'у было ещё очень далеко до кроссплатформенности когда послоедний раз смотрел, а вот упомянутый выше haxeui да, обещает desktop, mobile and web.

Глянул, веб заявлен, как-то пропустил, да, если гугл не закроет, то вполне вариант.

Бросается в глаза отсутствие сглаживания шрифтов. Ну и то, что на всех темах в статье одинаковый моноширинный, и довольно страшный, шрифт.

Как-то подозрительно сильно похоже на питоновскую обвёртку для ImGui.

По описанию штука интересная. Кто-нибудь сравнивал с PyQtGraph? А то делаю штуку одну, где нужно достаточно быстро обновлять экран. Сейчас сделано как раз на PyQtGraph-е

Инструмент интересный, достоин внимания! Хоть и привык к QT, но для разнообразия и сравнения гляну на новинку внимательней! Спасибо!

import dearpygui.dearpygui as dpg

with dpg.window(label="Ща закодим ui"):
    dpg.add_text("Привет, юникод")

dpg.setup_viewport()
dpg.start_dearpygui()

image

Неплохо для 2021 года.

питонисты, разберитесь с тегами, ни строчки на си, стоит тег си.

Темы — 10 встроенных тем и система пользовательских тем.

А поддержка системных тем есть? Ну там Qt, GTK, да банально акцентные цвета в Windows, если остальное "для 2% юзеров не нужно". С Python всегда была проблема нормальной поддержки всего этого. Было бы приятно увидеть какой-нибудь фреймворк, среди предлагаемых тем в котором была бы "подтянуть из системы".

Так глядишь через пару лет и такой интерфейс придумают:

Интересная штука. Жаль, что только показывают не работает. Красивое.

Убедитесь, что у вас установлен как минимум Python 3.7 (64 бит).

Python 3.8.10

с динамическим контентом эта либа работает очень плохо. Т.е. она недо-immediate недо-retained.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий