Glade — среда быстрой разработки для быстрого и простого создания пользовательских интерфейсов на основе тулкита GTK+. Glade генерирует xml документ, который можно использовать в Python с библиотекой Gtk.

Графический редактор Glade используется программистом только на этапе разработки приложения, для функционирования готового приложения он не нужен.

Установка Glade:

sudo apt install glade

А теперь, по традиции, пишем программу "Hello World!"

Запустите редактор Glade, создайте новый проект и новое окно GtkWindow.

Присвойте новому окну уникальный идентификатор (ID), например mainWindow. Сохраните проект в файле, например, HelloWorld. К имени файла редактор добавит расширение glade. Уже интересно посмотреть структуру созданного нами файла. Откройте файл HelloWorld.glade в блокноте.

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
  <requires lib="gtk+" version="3.20"/>
  <object class="GtkWindow" id="mainWindow">
    <property name="can_focus">False</property>
    <child>
      <placeholder/>
    </child>
    <child>
      <placeholder/>
    </child>
  </object>
</interface>

Можно редактировать этот файл в блокноте, если вы уже изучили язык XML.

В той же папке, куда вы сохранили файл HelloWorld.glade создайте программу на Python и сохраните ёё в файл, например HelloWorld.py

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

builder = Gtk.Builder()
builder.add_from_file("HelloWorld.glade")

window = builder.get_object("mainWindow")
window.show_all()

Gtk.main()

Запустите свою программу из IDLE или из командной строки.

python3 HelloWorld.py

Добавьте в программу 2 строчки сверху:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

builder = Gtk.Builder()
builder.add_from_file("HelloWorld.glade")

window = builder.get_object("mainWindow")
window.show_all()

Gtk.main()

Дайте программе право на выполнение и теперь можете запускать эту программу по имени.

dior@U18pro:~/Python/Glade$ ./HelloWorld.py

Заметили проблемку? Окно программы закрывается крестиком (Х), а в терминале программа продолжает выполняться и её нельзя прервать. Но об этом в следующей статье.