понедельник, 1 марта 2010 г.

Python GUI

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

Итак на данный момент что известно

  • wxPython - бегемот, однако вроде активно юзается. Депенденси для него составляет 29 неприятных метров. Бегемотность и является самым большим минусом.
  • PyQT - еще более бегемотистый (но и по всей видимости более продвинутый - имеется релиз для 3го питона) бегемот. Минус опять же размер депенденси ( в которую входит нафиг не сдавшиеся мне вспомогательные С++ костыли из qt-core).
  • pygame - надстройка над SDL для питона. Примеры игрух выглядят весьма убого. Так же немного не прельщает реализация собственного мейн цикла. Полноценной библиотеки виджетов нету. Депенденси небольшая, однако работа со звуком мне на данный момент не нужна, с виджетами как уже сказал проблема. Посему смысл использования теряется.
  • кучи всяких дохлых библиотек не дошедших даже до релиза 1.* : AnyGui, EasyGui, OcempGUI, Ocean, PyUi
То, что подает надежды
  • pyFLTK - байндинг питона на FLTK, некий легковесный с++ гуи тулкит. И pyFLTK, и FLTK доступны в генту портеже, оба проекта живы.
  • AVC - позволяет не привязываться к определенному ГУИ фреймворку а легко
    переключаться между ними:  GTK+, Qt3, Qt4, Tk, wxWidgets, Swing в Jython.
  • Tkinter - вроде в последних версиях начал выглядеть прилично, плюс здесь можно найти библиотеки для него, первая pmw очевидно жива и даже входит в gentoo portage. Также обнаружено расширение Tix. Также упоминались некоторое расширение тем ttk, есть даже какой-то проект. Надо проработать тему расширений для Tkinter.
Так что на данный момент хотелось бы попробовать [AVC +] Tkinter.