PyGTK SQLAlchemy писане на филмов каталог

Отдавна исках да изпробвам Python като инструмент за разработване на приложения за настолни компютри. Избор на GUI библиотека от наличните GTK, QT, wxPython и Tkinter не беше трудно, защото моят работен плот е ГНОМ и както знаете, той е изграден върху GTK +, тогава реших да спра на PyGTK - слоеве между GTK+ и Python. Приложения, написани на GTK+ може да живее не само под Linux, ако инсталирате необходимите библиотеки, тогава можете да стартирате приложения под MacOS и Windows, едно от предимствата на библиотеката е междуплатформената.

Като пример, нека напишем приложение за каталогизиране на филми за любител на филм. Всички елементи на интерфейса ще бъдат включени GTK+, филмите ще се съхраняват в SQLite, ORM ще се използва за комуникация с базата данни - SQLAlchemy.

Накратко за GTK+

PyGTK е обвивка над GUI библиотека GTK+ и предоставя възможност за създаване на GUI приложения в Python. PyGTK Състои се от няколко компонента:

  • GObject - базов клас, предоставящ общи свойства и методи за PyGTK класове;
  • Глиб предоставя основната обектна система, използвана от GNOME, изпълнение на основен цикъл и обширен набор от помощни функции за низове и общи структури от данни. източник
  • GDK (GIMP комплект за рисуване) - обвивка над библиотеки за рисуване и прозорци на ниско ниво. Намира се между GTK+ и X сървър.
  • Панго - отговаря за локализацията и работата с шрифтове;
  • АТК - набор от инструменти за внедряване на интерфейс за хора с увреждания;
  • Кайро - библиотека за създаване на 2D графика;

Ако имате работен плот на GNOME, системата вече е инсталирана PyGTK, в противен случай отидете на страницата за изтегляне и изтеглете версията за вашата платформа.

Проверете инсталираните версии GTK+ и PyGTK

Всички приложения включени PyGTK се състоят от визуални компоненти - джаджи. Които могат да бъдат или видими (бутони, комбинирани полета и т.н.) или невидими (например оформления). Повечето приспособления могат да отговорят на определени събития, генерирани от X сървъра. Когато потребителят щракне върху бутона, той се генерира сигнал, което повдига събитието - щракна, програмистът трябва само да напише манипулатор за събитието. Всички събития в приложението се контролират от главния цикъл на събития, който се изпълнява по време на инициализацията на приложението.

За да изградите интерфейс на приложение, можете да използвате два подхода: ръчно да опишете всички джаджи и реда на тяхното разполагане във формуляра, или да използвате Glade - така нареченият RAD (бърза разработка на приложения), GUI инструмент за дизайн на визуален интерфейс. Процесът се свежда до хвърляне на приспособления върху формуляра (като в Delphi или QT Designer) и именуване на обработчиците на събития. След това целият резултат се записва в XML файл, който се анализира с помощта на libglade в конструктора на основния прозорец на приложението. В резултат на това получаваме готов интерфейс. Добра длъжностна характеристика с Поляна е тук.