Skip to main content

Сделать простые графические интерфейсы с помощью малины Pi с помощью EasyGUI

Как в Python писать программы с интерфейсом? (Апрель 2025)

Как в Python писать программы с интерфейсом? (Апрель 2025)
Anonim

Добавление графического интерфейса пользователя (GUI) к вашему проекту Raspberry Pi - отличный способ включить экран ввода данных, экранные кнопки для управления или даже более разумный способ показать показания с таких компонентов, как датчики.

01 из 10

Создайте интерфейс для своего проекта

Существует несколько различных GUI-методов для малины Pi, однако большинство из них имеют крутую кривую обучения.

Интерфейс Tkinter Python может использоваться по умолчанию для всех, но новички могут бороться со своей сложностью. Аналогично, библиотека PyGame предлагает варианты для создания впечатляющих интерфейсов, но может быть излишней к требованиям.

Если вы ищете простой и быстрый интерфейс для своего проекта, EasyGUI может быть ответом. То, что ему не хватает в графической красоте, это более чем компенсирует его простота и простота использования.

В этой статье вы познакомитесь с библиотекой, включая некоторые из наиболее полезных вариантов, которые мы нашли.

Продолжить чтение ниже

02 из 10

Загрузка и импорт EasyGUI

Для этой статьи мы используем стандартную операционную систему Raspbian.

Установка библиотеки будет знакомым процессом для большинства, используя метод apt-get install. Вам понадобится подключение к Интернету на вашем малине Pi, используя проводное Ethernet или WiFi-соединение.

Откройте окно терминала (значок черного экрана на панели задач Pi) и введите следующую команду:

apt-get install python-easygui

Эта команда загрузит библиотеку и установит ее для вас, и это все, что вам нужно сделать.

Продолжить чтение ниже

03 из 10

Импорт EasyGUI

EasyGUI необходимо импортировать в скрипт, прежде чем вы сможете использовать его функции. Это достигается путем ввода одной строки в верхней части вашего скрипта и является тем же, независимо от того, какие параметры интерфейса EasyGUI вы используете.

Создайте новый скрипт, введя следующую команду в окне терминала:

sudo nano easygui.py

Появится пустой экран - это ваш пустой файл (nano - просто имя текстового редактора). Чтобы импортировать EasyGUI в свой скрипт, введите следующую строку:

из простойgui импорт *

Мы используем эту конкретную версию импорта, чтобы упростить кодирование. Например, при импорте этого, вместо того, чтобы писать «easygui.msgbox», мы можем просто использовать «msgbox».

Теперь давайте рассмотрим некоторые ключевые параметры интерфейса в EasyGUI.

04 из 10

Основной ящик сообщений

Это «окно сообщения» в его простейшей форме дает пользователю строку текста и одну кнопку для клика. Вот пример, чтобы попробовать - введите следующую строку после строки импорта и сохраните Ctrl + X:

msgbox («Холодная коробка, да?», «Я - ящик сообщений»)

Чтобы запустить сценарий, используйте следующую команду:

sudo python easygui.py

Появится окно с сообщением Я - ящик сообщений записанных в верхнем баре, и Классная коробка? над кнопкой.

Продолжить чтение ниже

05 из 10

Продолжить или Отменить окно

Иногда вам нужно, чтобы пользователь подтвердил действие или решил продолжить или нет. Поле «ccbox» содержит ту же строку текста, что и основное поле сообщения, но содержит 2 кнопки - Продолжить а также отменить.

Ниже приведен пример одного из них: кнопка продолжения и отмены печати на терминал. Вы можете изменить действие после нажатия каждой кнопки, чтобы делать все, что вам нравится:

из простойgui импорт *время импортаmsg = "Хотели бы вы продолжить?"title = "Продолжить?"если ccbox (msg, title): # показать диалог «Продолжить / Отменить» print «Пользователь выбрал продолжение» # Добавьте другие команды здесь else: # пользователь выбрал Отменить печать «Пользователь отменен» # Добавьте другие команды здесь 06 из 10

Пользовательская кнопочная коробка

Если встроенные опции окна не дают вам то, что вам нужно, вы можете создать пользовательскую кнопку с помощью функции «buttonbox».

Это здорово, если у вас есть больше опций, которые требуют покрытия, или, возможно, контролируют количество светодиодов или других компонентов с пользовательским интерфейсом.

Вот пример выбора соуса для заказа:

из простойgui импорт *время импорта msg = "Какой соус вам нравится?"choice = "Mild", "Hot", "Extra Hot"answer = buttonbox (msg, choice = choice), если ответ == "Mild": распечатать ответесли ответ == "Горячий": распечатать ответif reply == "Extra Hot": распечатать ответ

Продолжить чтение ниже

07 из 10

Коробка выбора

Кнопки великолепны, но для длинных списков опций «поле выбора» имеет большой смысл. Попробуйте установить 10 кнопок в коробке, и вы скоро согласитесь!

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

Вот пример, показывающий десять имен, которые вы видите, были отсортированы на скриншоте.

из простойgui импорт *время импортаmsg = «Кто выпустил собак?»title = "Отсутствующие собаки"выборы = «Алекс», «Кошка», «Майкл», «Джеймс», «Альберт», «Фил», «Ясмин», «Фрэнк», «Тим», «Ханна»choice = choicebox (msg, title, choice) 08 из 10

Блок ввода данных

Формы - отличный способ захвата данных для вашего проекта, а в EasyGUI есть опция «multenterbox», которая позволяет показывать помеченные поля для захвата информации.

Еще раз это случай маркировки полей и просто захват ввода. Ниже мы приводим пример для очень простой формы регистрации членства в спортзале.

Существуют варианты добавления валидации и других расширенных функций, которые подробно описывается веб-сайтом EasyGUI.

из простойgui импорт *время импортаmsg = "Информация о членах"title = "Форма участия в гимназии"fieldNames = "Имя", "Фамилия", "Возраст", "Вес"fieldValues ​​= # начальные значенияfieldValues ​​= multenterbox (msg, title, fieldNames)print fieldValues

Продолжить чтение ниже

09 из 10

Добавление изображений

Вы можете добавлять изображения в свои интерфейсы EasyGUI, включая очень небольшое количество кода.

Сохраните изображение на вашем малине Pi в том же каталоге, что и ваш скрипт EasyGUI, и запишите имя и расширение файла (например, image1.png ).

Давайте используем кнопку в качестве примера:

из простойgui импорт *время импортаimage = "RaspberryPi.jpg"msg = "Это малина Pi?"choice = "Да", "Нет"ответ = кнопка (msg, image = изображение, выбор = выбор)если ответ == "Да": напечатать "Да"еще: напечатать "Нет" 10 из 10

Дополнительные функции

Мы рассмотрели основные «основные» параметры EasyGUI здесь, чтобы вы начали работать, однако есть много вариантов и вариантов доступных коробок в зависимости от того, сколько вы хотите узнать, и чего требует ваш проект.

Парольные поля, кодовые окна и даже ящики для файлов доступны для обозначения нескольких. Это очень универсальная библиотека, которую легко забрать за считанные минуты, с некоторыми отличными возможностями управления аппаратным обеспечением.

Если вы хотите узнать, как кодировать другие вещи, такие как Java, HTML или более, вы можете увидеть лучшие доступные онлайн-ресурсы для кодирования.