@protasovmikhail

На чем писать gui-программы для debian?

Всем привет.

Не знаю как правильно сформулировать вопрос . У меня есть утилитки на баше, с общением с пользователем через zenity .
Тесновато стало, и вообще, IDE хочется, состояний, бд, иконки в трее

Присматриваюсь к PyQt . Вроде как Qt облегчит создание интерфейса а пайтон прогрессивный язык.
Сложностей и тонкостей не надо, а вот готовые либы были бы кстати.

Или я вообще не в ту сторону смотрю??

Спасибо
  • Вопрос задан
  • 1408 просмотров
Решения вопроса 1
ri_gilfanov
@ri_gilfanov
Web- and desktop-developer
Python часто называют "лучшим вторым языком для большинства задач". Написание графических приложений -- не исключение. Особенно, если нет задачи защитить исходный код приложения от изучения посторонними.

Библиотек для создания графических приложений много.

Из того, что более-менее на слуху:
  • GTK+ 3
    • Python GTK+ 3 (зависит от PyGObject) -- рекомендую. Во-первых, тулкит Gtk проще в освоении, чем монструозный Qt. Во-вторых, есть приличная по объёму официальная документация для Python (хотя и не полная). Приложений с большим количеством окон и виджетов пока не писал.

  • Qt5
    • PyQt5 -- несколько лет назад пробовал PyQt4 и PyQt5. Для написания чего-то сложнее "Hello world!" надо курить много документации к оригинальному Qt, а изложено там всё в контексте языка C++. Например, пару дней пытался разобраться как обойтись без Qt-шных классов для работы с СУБД (чтобы не извращаться с голым SQL) и подружить Qt-шные виджеты для таблиц с SQLAlchemy -- в итоге понял, что Qt не для меня.
    • PySide2 -- не пробовал. Лучше PyQt5 по части лицензий (есть под LGPL, что позволяет бесплатное использование и в проприентарных проектах) и, если не ошибаюсь, PySide2 лучше дружит с питоновскими типами. В остальном, тот же Qt5.

  • wxWidgets
    • wxPython -- не пробовал. Говорят проще PySide2 / PyQt5. Однако, тулкит не дотягивает по популярности до GTK+ 3, так что вероятно и инфы по нему меньше. Как я понял, стабильной версии под Python3 до сих пор нет, находится в разработке под названием Phoenix.

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

  • Kivy -- фреймворк больше ориентирован на разработку мобильных приложений под Android и iOS, но можно писать приложения и под Linux системы.

Так же, в некоторых случаях, есть смысл смотреть в сторону веб-фреймворков (Django, Flask и др.). Веб-приложение может и локально запускаться на конкретной машине, взаимодействуя с операционной системой и другими веб-приложениями в сети организации.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
NeiroNx
@NeiroNx
Программист
GTK он везде почти есть из коробки.
Ответ написан
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Если устраивает qtшная лицензия, то отличный выбор, у Qt шикарная документация и удобный API.
Ответ написан
Комментировать
delvin-fil
@delvin-fil
Crazy Linux-admin
PyQt5 Хорош. Но "жирный".
GTK3+ Намного резвее Qt
Ну и самый, пожалуй, быстрый - wxPython
Tk и прочие легковесные модули рассматривать не имеет смысла, ибо возможности у них "никакие".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы