Pull to refresh

Топик о моем пути в wxPython, wxGlade и о войне UI библиотек



О библиотеках


Те, кто задумывался над написание UI, наверняка сравнивал библиотеки (wx, gtk, qt).
Честно говоря, что касается меня то, к GTK я не очень, потому как, под Виндой эти контролы имеют «неземной» интерфейс, да и с дальнейшей дистрибуцией возникают некоторые задачи. Хотя, конечно к GTK, я отношусь с уважением, была бы голова, можно и очень матерый продукт собрать (взять тот же GIMP).
Совсем недавно Qt, сделало очень хороший ход, версия 4.5 теперь под LGPL, если еще сказать про замечательную документацию, и классную отрисовку виджетов, то рискну предположить что, в скором будущем Qt станет №1 в области GUI. Единственное что, мне не очень нравится, это стремление троллей охватить вся и всё, они и stl обернули своими классами, типа QList, и под XML парсеры и т.д… Когда используешь на Qt C++, то непонятно на чем пишешь больше на Qt или C++. Хотя опять же, все зависит от разработчика.
В последнее время я остановился на wx. Какие плюсы? Очень «скромная» библиотека, документации маловато, но спроектирована очень разумно, и при желании можно разобраться. Минусы, иногда всплывают косяки, и ограничения с которыми тяжело бороться.

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

О моем пути


Редактор


В качестве редактора питон — кода, я просматривал IDE (SPE, Wings, даже Eric) не нравятся мне все эти рюшечки, и кнопочки, поэтому я пришел к простому текстовому редактору с подсветкой. Мне нравится EditPlus, потому что очень легкий, очень быстрый, и очень простой. Файл настроек для питона я написал сам, кому интересно можете скачать. Иногда, в никсах, я пишу в Emacs, но это уже совсем другая история.

Ui designer


В качестве Ui дизайнера, лучше использовать wxGlade, хорош он тем, что может портировать не только не Python, но и на другие языки. Также генерирует очень, ясный и прозрачный код. Если вам, очень хочется разобраться в wxPython, то лучший совет вам, взять wxGlade и книжку «wxPython in Action», глядя на то что генерирует Glade, все становится ясно очень быстро.
wxGlade — оперирует понятием «авторесазовыми контролами» (где — то на хабре я прочитал такое понятие). Вкратце говоря. это философия обязательного обрамления контролов, классами wx.Sizer, которые прорисовают находищиеся в них контролы в зависимости от иерархии, привязки к бордерам и т.д. Если считаете нужным, как нибудь напишу об этом.

UML designer


Разработка крупных проектов на Python наша команда ведет в PowerDesigner. Также как, и для EditPlus, нашим top разработчиком, был написан генератор под Power Designer, собственного под Python у них по-моему нет. Разрешение на публикацию, я у него не получал по этому вешать во всеобщее обозрение не буду.

О том, о чем, хотел бы рассказать


Недавно я написал плагин к AIMP (аналог Winamp) на питоне, в будущем я надеюсь напишу о нем подробно пару статей. Плагин, кстати полезный и для кого- то может пригодиться.
У нас в офисе, 5 программеров, на одном из ПК стоят колонки и собственно проигрыватель (раньше был Winamp, теперь вот AIMP), подходит и добавлять, а также переключать музыку каждому, это изнурительно. Поэтому мой товарищ написал на Delphi плугин, который поднимает сервер обращений к AIMP, а я на wxPython, клиента который с ним общается. Получилось довольно забавно, один проигрыватель на всех в комнате. Всем кто сидит в наушниках советую. image

_________
Текст подготовлен в ХабраРедакторе
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.