Создание очень простых графических пользовательских интерфейсов с помощью Python с использованием appJar (интерфейс на основе Tkinter)

Хотя для python существует множество UI-фреймворков, большинство из них не так просты в использовании и реализации. По крайней мере, не для начинающего программиста на языке Python, поэтому сегодня мы хотим представить, как создать базовый пользовательский интерфейс с наиболее распространенные элементы пользовательского интерфейса например dropbox, радиобоксы, ввод текста, кнопки и т. д. с использованием пакета appJar для Python.

Что такое appJar

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

Графический интерфейс в Python довольно трудно реализовать самостоятельно, поэтому, если вы новичок, который хочет начать работать с python и создать свой собственный интерфейс для простых приложений, appJar — одно из самых надежных решений.

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

Предпочтительный метод установки appJar через пипс. Откройте свой терминал и выполните следующую команду:

python -m pip install appjar

После установки вы можете обновить пакет, когда захотите:

python -m pip install appjar --upgrade

И вы, очевидно, можете импортировать пространство имен appJar из своего кода Python. Для получения дополнительной информации об этой удивительной библиотеке, пожалуйста, посетите официальный репозиторий на Github здесь или же посетите официальный сайт.

2. Использование AppJar

В отличие от многих других инструментов для визуального дизайна графического интерфейса, таких как visual studio, вам нужно будет создать свой собственный графический интерфейс с простым кодом, то есть строкой на строку. AppJar предлагает множество компонентов, поэтому перечислять их здесь не уместно. Поэтому мы опишем только особенности библиотеки и то, как легко ее можно использовать.

  • Разработан так, чтобы быть максимально простым, но при этом обеспечивать большую функциональность tkinter.
  • Предоставляет 3 функции для большинства виджетов:
    • add (имя, значение) это добавляет новый виджет (обычно с именем и значением)
    • set (name, value) это обновляет значение именованного виджета
    • get (name) это получает значение названного виджета
  • Использует сетку
  • При добавлении виджетов можно указать до 4 числовых «позиций»:
    • столбец — столбец для отображения, начиная с 0
    • ряд — строка, чтобы появиться, заявляя в 0
    • columnspan — сколько столбцов охватывать
    • rowspan — сколько строк пролегать вниз
  • Обеспечивает загрузку лишних битов и кусков вне ядра ткинтера
    • Часть этого была из превосходных ресурсов. http://effbot.org
    • Часть этого была из примеров slashdot о том, как решить общие проблемы
    • Часть этого была включена из модулей других людей:
      • Подсказка Майкла Ланге
      • Поддержка tkinter_png Иоганна Рохолла
      • Библиотека Мартина Дж. Фидлера NanoJPEG
  • Я пытался получить как можно больше функциональности в этой библиотеке, не требуя никаких других модулей

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

# import the library
from appJar import gui
# create a GUI variable called app
app = gui()
# add & configure widgets - widgets get a name, to help referencing them later
app.addLabel("title", "Welcome to appJar")
app.setLabelBg("title", "red")
# start the GUI
app.go()

Что делает библиотеку довольно простой в использовании с простыми сценариями.

пример

В следующем примере реализована очень простая форма входа в систему, которая следует за приложением со структурой классов с некоторыми пользовательскими методами (они не следуют никакому шаблону). Чтобы запустить его, создайте новый файл Python, а именно main.py и поместите следующее:

# main.py
from appJar import gui
# Example of a semi-structured application
class MyApplication():
# Build the GUI
def Prepare(self, app):
# Form GUI
app.setTitle("Login Form")
app.setFont(16)
app.setStopFunction(self.BeforeExit)
# Add labels & entries
# in the correct row & column
app.addLabel("userLab", "Username:", 0, 0)
app.addEntry("username", 0, 1)
app.addLabel("passLab", "Password:", 1, 0)
app.addSecretEntry("password", 1, 1)
app.addButtons( ["Submit", "Cancel"], self.Submit, colspan=2)
return app
# Build and Start your application
def Start(self):
# Creates a UI
app = gui()
# Run the prebuild method that adds items to the UI
app = self.Prepare(app)
# Make the app class-accesible
self.app = app
# Start appJar
app.go()
# Callback execute before quitting your app
def BeforeExit(self):
return self.app.yesNoBox("Confirm Exit", "Are you sure you want to exit the application?")
# Define method that is executed when the user clicks on the submit buttons
# of the form
def Submit(self, btnName):
if btnName == "Submit":
username = self.app.getEntry("username")
password = self.app.getEntry("password")
# Very stupid login system (both strings equal to ourcodeworld)
if username and password == "ourcodeworld":
self.app.infoBox("Logged in", "You are now logged in !")
else:
self.app.errorBox("Error", "Your credentials are invalid !")
# Run the application
# `python main.py`
if __name__ == '__main__':
# Create an instance of your application
App = MyApplication()
# Start your app !
App.Start()

Затем запустите скрипт в вашем терминале, используя:

python main.py

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

Пользовательский интерфейс AppJar для Python

Ссылка на основную публикацию
Adblock
detector