Створіть свій перший графічний інтерфейс на Python за допомогою Glade і GTK+

Ключові висновки

  • Розробники Python можуть використовувати GTK+ і Glade для створення інтуїтивно зрозумілих графічних інтерфейсів за допомогою візуального інтерфейсу.
  • Налаштування середовища для цього прикладу передбачає встановлення Python, GTK+, Glade і PyGObject.
  • Використання GTK+ і Glade для розробки GUI на Python прискорює процес і відокремлює дизайн GUI від коду.

Python — це доступна мова, яка ідеально підходить для аналізу даних і веб-розробки. Але це також чудовий вибір для розробки програм із графічним інтерфейсом користувача. GTK+ і Glade спрощують процес створення простих кросплатформних програм.

Конструктор інтерфейсу GTK+ і Glade для розробників Python

GTK+ (GIMP Toolkit) і Glade Interface Designer — чудова комбінація для розробників Python, які хочуть створювати інтуїтивно зрозумілі та приємні графічні інтерфейси користувача.

GTK+ — це багатоплатформний інструментарій, який можна використовувати для розробки GUI. Він сумісний з різними операційними системами, включаючи Linux, Windows і macOS.

Glade Interface Designer, інструмент-супутник GTK+, дозволяє розробляти графічний інтерфейс без необхідності писати код макета. Ви можете використовувати його для створення графічного інтерфейсу користувача в середовищі WYSIWYG за допомогою кількох клацань миші та простих функцій перетягування.

Налаштування вашого середовища Python для розробки GTK+ і Glade

Налаштування вашого середовища є важливим першим кроком для забезпечення плавного та ефективного робочого процесу.

1. Встановіть Python

Почніть з того, що переконайтеся, що у вашій системі встановлено Python. У прочитаних прикладах ви побачите код Python 3, оскільки він пропонує кращу підтримку та інтеграцію для GTK+ і Glade. Для Linux і macOS зазвичай попередньо встановлено Python.

  Що означає для вас план боротьби з підробками «Проект нуль» від Amazon?

Користувачі Windows можуть завантажити Python з офіційний сайт Python.

2. Встановіть GTK+

Ви можете встановити GTK+ за допомогою менеджера пакетів.

Для систем Linux на базі Ubuntu та Debian використовуйте:

 sudo apt-get install libgtk-3-dev 

Для Fedora та подібних:

 sudo dnf install gtk3-devel 

У macOS за допомогою Homebrew:

 brew install gtk+3 

Користувачі Windows можуть завантажити GTK+ з Офіційна сторінка завантаження GTK. Але якщо у вас встановлено MSYS2, ви можете відкрити командний рядок MSYS2 і використати цю команду:

 pacman -S mingw-w64-x86_64-python-gobject 

3. Встановіть Glade

Ви можете використовувати командний рядок для встановлення Glade.

Для дистрибутивів Linux на базі Ubuntu і Debian:

 sudo apt-get install glade 

У Fedora:

 sudo dnf install glade 

Користувачі macOS можуть використовувати Homebrew:

 brew install glade 

Користувачі Windows можуть використовувати таку команду з MSYS2:

 pacman -S mingw-w64-x86_64-glade 

4. Прив’язки Python для GTK+

Встановіть PyGObject, щоб інтегрувати GTK+ із Python. Команда, яку ви будете використовувати для цього:

 pip install PyGObject 

Якщо під час інсталяції PyGObject виникає помилка на зразок «Колесо збірки для pycairo (pyproject.toml) не запущено», вам також потрібно буде інсталювати пакет cairo.

Для дистрибутивів Linux на базі Ubuntu і Debian:

 sudo apt-get install libcairo2-dev 

Для Fedora:

 sudo yum install cairo-devel 

У macOS:

 brew install pygobject3 

5. Налаштування віртуального середовища (необов’язково)

Рекомендується використовувати віртуальне середовище для ваших проектів Python. Це ізолює ваші залежності проекту. Створіть і активуйте віртуальне середовище в Linux за допомогою цих команд терміналу:

 python -m venv myenv
source myenv/bin/activate

У Windows використовуйте:

 python -m venv myenv
myenv\Scripts\activate

У macOS, щоб переконатися, що віртуальне середовище може отримати доступ до пакетів, які встановлюються, використовуйте:

 python -m venv --system-site-packages myenv
source myenv/bin/activate

6. Перевірка інсталяції

Щоб переконатися, що GTK+ і Glade встановлено, створіть простий сценарій Python, який імпортує GTK:

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

print("GTK+ version:", Gtk.get_major_version(), Gtk.get_minor_version())

Коли ви запустите цей сценарій, він виведе встановлену версію GTK+. Якщо все йде добре, ви налаштували своє середовище розробки.

  Як підсумки рецензій зі штучним інтелектом Amazon полегшать прийняття рішень про покупки

Створення простого додатка з графічним інтерфейсом за допомогою Glade Interface Designer і Python

Ви можете створити свою програму з графічним інтерфейсом користувача в Glade Interface Designer і експортувати макет як файл проекту. Потім ви можете отримати доступ до цього файлу проекту зі свого коду Python.

Створення графічного інтерфейсу користувача з Glade

Інтерфейс Glade з функцією перетягування дозволяє легко зосередитись на дизайні, не загрузаючи у базовому коді. Запустіть Glade з системного програмного меню або командного рядка за допомогою цієї команди:

 glade

Ви повинні побачити інтерфейс Glade, де ви можете почати створювати макет графічного інтерфейсу.

Кнопка «Створити новий проект» у верхньому лівому куті надає порожнє полотно для дизайну графічного інтерфейсу. Glade пропонує широкий вибір віджетів на верхній панелі, включаючи кнопки, введення тексту та мітки. Перетягніть ці віджети на своє полотно, щоб почати стиль графічного інтерфейсу. Ви можете змінювати розмір і розташування віджетів відповідно до ваших потреб у дизайні.

Спочатку виберіть віджет GtkWindow у меню Toplevels:

На сторінці «Загальні» на правій панелі Glade ви побачите опцію ідентифікатора. Цей ідентифікатор є унікальною назвою доданого вами віджета. Для цього прикладу призначте ідентифікатор myMainWindow до GtkWindow, який ви додали.

Тепер ви можете додавати віджети до головного вікна, яке ви створили. Перейдіть до «Контейнерів» на верхній панелі, виберіть віджет GtkBox і перетягніть його в робочу область. Потім дайте йому ідентифікатор myMainBox.

Після додавання віджета GtkBox праворуч від робочого простору ви побачите різні параметри, які стосуються цього віджета. Тут ви можете редагувати весь свій дизайн без написання коду.

  Нові Z Fold 5 і Z Flip 5 у продажу

Далі додайте до свого дизайну віджет керування. Для цього перейдіть до Control на верхній панелі, виберіть GtkButton як приклад і перетягніть його в будь-яке місце GtkBox. Дайте йому ID, myButton. За бажанням ви також можете змінити текст кнопки за допомогою вкладки Загальні на правій панелі.

GtkButton — це віджет, який можна натискати, тому ви можете визначити для нього обробник Python і пізніше написати відповідний код. Перейдіть на вкладку «Сигнали» в меню праворуч і вкажіть обробник для клацнутого сигналу. Для цього прикладу назвіть це on_button_clicked.

Тепер ви можете зберегти дизайн GUI як файл проекту. Збережіть файл як myDesign.glade.

Використання файлу дизайну Glade з коду Python

Створіть файл app.py у тому ж каталозі, що й файл myDesign.glade. Вставте наступний код у цей файл:

 import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from gi.repository import Gdk

class MyApp:
    def __init__(self):

        

        self.builder = Gtk.Builder()
        self.builder.add_from_file("myDesign.glade")

        

        self.window = self.builder.get_object("myMainWindow")
        self.window.connect("destroy", Gtk.main_quit)

        

        self.button = self.builder.get_object("myButton")
        self.button.connect("clicked", self.on_button_clicked)

        

        self.color_toggle = False

    def on_button_clicked(self, widget):

        

        color = "#FF0000" if self.color_toggle else "#00FF00"
        self.window.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse(color))
        self.color_toggle = not self.color_toggle

    def run(self):
        self.window.show_all()
        Gtk.main()

if __name__ == "__main__":
    app = MyApp()
    app.run()

Цей код змінюватиме колір фону кожного разу, коли ви натискаєте кнопку. Зверніть увагу на виклики self.builder.get_object(), які передають ідентифікатори віджетів, які ви визначили в Glade.

Запустіть свій сценарій Python за допомогою цієї команди, щоб побачити результат:

 python3 app.py 

Переваги використання GTK+ і Glade для розробки GUI на Python

Використання GTK+ і Glade для розробки графічного інтерфейсу Python дає очевидні переваги. Зазвичай створення GUI займає багато часу та зусиль. Але за допомогою Glade Interface Designer ви можете пришвидшити процес. Glade також пропонує широкий вибір віджетів, кожен з яких такий же простий у використанні, як кнопка в прикладі.

Ключовою перевагою Glade є його здатність зберігати графічний інтерфейс окремо від коду. Це спрощує підтримку та оновлення GUI. Цей підхід веде до чистішого та краще організованого коду відповідно до сучасної практики програмування.