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

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

GTK+ и Glade Interface Designer для разработчиков Python

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

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

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

Настройте среду Python для разработки GTK+ и Glade.

Настройка среды — это важный первый шаг к обеспечению бесперебойного и эффективного рабочего процесса.

1. Установите Питон

Начните с того, что убедитесь, что в вашей системе установлен Python. В примерах, которые вы читаете, вы увидите код Python 3, поскольку он обеспечивает лучшую поддержку и интеграцию GTK+ и Glade. В Linux и macOS Python обычно предустановлен.

Пользователи Windows могут загрузить Python с официального сайта Python.

2. Установите GTK+

Вы можете установить GTK+ с помощью менеджера пакетов.

Для систем Linux на базе Ubuntu и Debian используйте:

sudo apt-get установить libgtk-3-dev

Для Fedora и подобных дистрибутивов:

sudo dnf установить gtk3-devel

В macOS используйте Homebrew:

заварить установку GTK+3

Пользователи Windows могут загрузить GTK+ с официальной страницы загрузки GTK. Но если у вас установлен MSYS2, вы можете открыть командную строку MSYS2 и использовать эту команду:

pacman -S mingw-w64-x86_64-python-object

3. Установите Глэйд

Вы можете использовать командную строку для установки Glade.

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

sudo apt-get установить поляну

В Федоре:

sudo dnf установить поляну

Пользователи macOS могут использовать Homebrew:

заварить установку поляны

Пользователи Windows могут использовать следующую команду с MSYS2:

pacman -S mingw-w64-x86_64-glade

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

Установите PyGObject для интеграции GTK+ с Python. Для этого вы будете использовать команду:

pip установить PyGObject

Если во время установки PyGObject возникает ошибка типа «Построение колеса для pycairo (pyproject.toml) не запускалось», вам также потребуется установить пакет cairo.

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

sudo apt-get установить libcairo2-dev

С Федорой:

sudo yum установить cairo-devel

В macOS:

заварить установку pygobject3

5. Настройте виртуальную среду (необязательно).

Вам следует использовать виртуальную среду для своих проектов Python. Это изолирует зависимости вашего проекта. Создайте и активируйте виртуальную среду в Linux, используя следующие команды терминала:

python -m venv источник myenv myenv/bin/activate

В Windows используйте:

python -m venv myenv myenvScriptsactivate

В macOS, чтобы обеспечить доступ виртуальной среды к установочным пакетам, используйте:

python -m venv –system-site-packages исходный код myenv myenv/bin/activate

6. Проверьте установку

Чтобы убедиться, что GTK+ и Glade установлены, создайте простой скрипт Python для импорта GTK:

import gi gi.require_version(“Gtk”, “3.0”) из gi.repository import Gtk print(“GTK+ version:”, Gtk.get_major_version(), Gtk.get_minor_version())

Когда вы запустите этот скрипт, он выведет установленную версию GTK+. Если все пойдет хорошо, среда разработки настроена.

Создайте простое приложение с графическим интерфейсом с помощью Glade Interface Designer и Python.

Вы можете создать свое приложение с графическим интерфейсом в Glade Interface Designer и экспортировать макет в виде файла проекта. Затем вы сможете получить доступ к этому файлу проекта из своего кода Python.

Проектируйте графические интерфейсы с помощью Glade

Интерфейс Glade с возможностью перетаскивания позволяет легко сосредоточиться на дизайне, не увязая в базовом коде. Запустите Glade из меню приложения или командной строки системы с помощью этой команды:

поляна

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

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

Сначала выберите виджет GtkWindow в меню Toplevels:

Создайте свой первый графический интерфейс на Python с помощью Glade и GTK+. Рисунок 1.

На странице «Общие» на правой боковой панели Glade вы увидите опцию «Идентификатор». Этот идентификатор представляет собой уникальное имя добавленного вами виджета. В этом примере присвойте идентификатор myMainWindow добавленному вами GtkWindow.

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

Создайте свой первый графический интерфейс на Python с помощью Glade и GTK+. Рисунок 2.

После добавления виджета GtkBox вы увидите различные параметры в правой части рабочей области, посвященной этому виджету. Здесь вы можете редактировать весь свой дизайн без написания кода.

Затем добавьте виджет «Управление» в свой дизайн. Для этого перейдите в Control на верхней панели, выберите, например, GtkButton и перетащите его в любое место GtkBox. Дайте ему идентификатор, myButton. При желании вы также можете изменить текст кнопки, используя вкладку «Общие» на правой панели.

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

Создайте свой первый графический интерфейс на Python с помощью Glade и GTK+. Рисунок 3.

Теперь вы можете сохранить свой дизайн графического интерфейса в виде файла проекта. Сохраните файл как myDesign.glade.

Используйте файл дизайна Glade из кода Python.

Создайте файл app.py в том же каталоге, что и файл myDesign.glade. Вставьте в этот файл следующий код:

import gi gi.require_version(“Gtk”, “3.0”) из gi.repository import Gtk из gi.repository import Gdk class MyApp: def __init__(self): # Загрузите файл Glade для создания графического интерфейса self.builder = Gtk. Builder() self.builder.add_from_file(“myDesign.glade”) # Получить главное окно из Glade и настроить событие закрытия self.window = self.builder.get_object(“myMainWindow”) self.window.connect(“destroy “, Gtk.main_quit) # Получаем кнопку из Glade и подключаем событие нажатия 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): # Нажмите кнопку, и цвет фона изменится на цвет = “#FF0000”, если self.color_toggle else “#00FF00” self.window.modify_bg(Gtk.StateType. НОРМАЛЬНЫЙ, 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. бегать()

Этот код будет менять цвет фона каждый раз, когда вы нажимаете кнопку. Обратите внимание, что вызовы self.builder.get_object() передают идентификаторы виджетов, которые вы определили в Glade.

Запустите скрипт Python с помощью этой команды, чтобы увидеть результаты:

python3 app.py

Создайте свой первый графический интерфейс на Python с помощью Glade и GTK+. Рисунок 4.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *