Разработка gui на gtk (Николай Ходов)
DESCRIPTION
TRANSCRIPT
Разработка графических приложений на GTK+
Николай Ходов_____________________________________
GtkBuilder vs. PyGTK vs. Libglade
● PyGTK - внешняя библиотека для ручного формирования интерфейса в коде
● Libglade – внешняя библиотека для для динамической отрисовки интерфейса ”на лету”
● GtkBuilder – cтандартная библиотека из GTK+
○ Похожа на Libglade
○ Пересмотрена внутренняя архитектура и уменьшает зависимость приложений
○ Рекомендуема для использования
____________________________________________
Подготовка среды разработки
sudo apt-get install glade python-gtk2
_________________________________________
Основные принципы
● Использует принцип ”упаковки” в контейнеры (packing)
● Не позволяет позиционировать элементы мышкой:
○ Непривычно – и это путает в начале
○ Уменьшает сложность редизайна
○ Позволяет создавать интерфейс, а не заниматься pixel-hunting'ом
● Разработчик может управлять схемой упаковки
____________________________
Упаковка
Свойства для контейнера:
● Homogeneous – дочерние объекты в контейнере получают одинаковое пространство
Свойства для дочерних объектов:
● Fill – объект полностью заполняет предоставленное пространство
● Expand – объект использует все предоставленное пространство
_____________
Homogeneous
Fill = True
Fill = False
Expand
Python Script
1. подключение библиотеки GTK+
2. подгрузка описания интерфейса
3. обработчики сигналов
4. показ окна и запуск основного цикла
____________________________вопросы[email protected]