Eel Python библиотека для создания интерфейсов на HTML

Eel библиотека Python для HTML интерфейсов
Метки: / / /

В этой статье вы прочитаете что за библиотека Eel для Python и самое главное как с ней работать думаю многим будет очень интересно и самое главное полезно.

Также если вас интересуют Python библиотеки, то вам возможно будет интересно «Быстрый старт библиотеки scikit-image для Python», уверен будет интересно.

Что за Python библиотека Eel:

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

Как устанавливается Python библиотека Eel:

Тут как обычно для Python нужно использовать Pip, вот что вводим в терминал:

После этого вы можете работать с библиотекой.

Работа с Python библиотекой Eel:

Тут стоит сказать, что всё что дальше, это перевод части официальной документации, ссылку на документацию найдёте ниже.

Структура каталогов:

Приложение Eel будет разделено на интерфейс, состоящий из различных файлов веб-технологий (.html, .js, .css), и серверную часть, состоящую из различных скриптов Python.

Все файлы внешнего интерфейса должны быть помещены в один каталог (при необходимости их можно разделить на папки внутри него).

Запуск приложения:

Предположим, вы поместили все файлы внешнего интерфейса в каталог с именем web, включая вашу стартовую страницу main.html, затем приложение запускается следующим образом;

Это запустит веб-сервер с настройками по умолчанию (http://localhost:8000) и откроет браузер на http://localhost:8000/main.html.

Если установлен Chrome или Chromium, то по умолчанию он будет открываться в режиме приложения (с флагом —app cmdline), независимо от того, какой браузер ОС по умолчанию установлен (это поведение можно переопределить).

Параметры приложения:

Дополнительные параметры могут быть переданы в eel.start() в качестве аргументов ключей словаря.

Некоторые из параметров включают режим, в котором находится приложение (например, «chrome»), порт, на котором работает приложение, имя хоста приложения и добавление дополнительных флагов командной строки.

Начиная с версии Eel v0.12.0, для start() доступны следующие параметры:

  • mode —  Cтрока, указывающая, какой браузер использовать (например, «chrome», «electro», «edge», «custom»). Также может быть None или False, чтобы не открывать окно. По умолчанию: «хром»;
  • host — Строка, указывающая, какое имя хоста использовать для сервера Bottle. По умолчанию: «localhost»);
  • port — Целое число, указывающий, какой порт использовать для сервера Bottle. Используйте 0 для автоматического выбора порта. По умолчанию: 8000;
  • block — Буливое значение, указывающее, должен ли вызов start() блокировать вызывающий поток. По умолчанию: True;
  • jinja_templates — Строка, указывающая папку, используемую для шаблонов Jinja2, например. «my_templates». По умолчанию: None;
  • cmdline_args — Список строк, которые необходимо передать команде для запуска браузера. Например, мы можем добавить дополнительные флаги для Chrome; eel.start('main.html', mode='chrome-app', port=8080, cmdline_args=['--start-fullscreen', '--browser-startup-dialog']). По  умолчанию: [];
  • size — Кортеж целых чисел, указывающий (ширину, высоту) главного окна в пикселях. По умолчанию: None;
  • position — Кортеж целых чисел, указывающий (слева, сверху) главного окна в пикселях. По умолчанию: None;
  • geometry — Словарь, определяющий размер и положение для всех окон. Ключи должны быть относительным путем страницы, а значения должны быть словарем вида {'size': (200, 100), 'position': (300, 50)}. По умолчанию: {};
  • close_callback — Лямбда или функция, которая вызывается, когда веб-сокет для окна закрывается (т. е. когда пользователь закрывает окно). Он должен принимать два аргумента; строка, представляющая собой относительный путь только что закрытой страницы и список других веб-сокетов, которые все еще открыты. По умолчанию: None;
  • app — Экземпляр Bottle, который будет использоваться, а не создавать новый. Это можно использовать для установки промежуточного программного обеспечения на экземпляр перед запуском угря, например. для управления сессиями, аутентификации и т. д.;
  • shutdown_delay — Таймер, настраиваемый для механизма обнаружения выключения Eel, при котором, когда какой-либо веб-сокет закрывается, он ожидает shutdown_delay секунд, а затем проверяет, есть ли сейчас какие-либо соединения с веб-сокетом. Если нет, то Eel закрывается. В случае, если пользователь закрыл браузер и хочет выйти из программы. По умолчанию значение shutdown_delay равно 1,0 секунде;

Экспонирование функций:

В дополнение к файлам в папке внешнего интерфейса библиотека Javascript будет обслуживаться в «/eel.js». Вы должны включать это на любые страницы:

Включение этой библиотеки создает объект eel, который можно использовать для связи со стороной Python.

Любые функции в коде Python, которые с @eel.expose, как это…

… будет отображаться как методы объекта eel на стороне Javascript, например…

Точно так же любые функции Javascript, которые выставлены таким образом…

можно вызвать со стороны Python следующим образом…

Открытое имя также можно переопределить, передав второй аргумент. Если ваше приложение минимизирует JavaScript во время сборки, это может быть необходимо, чтобы гарантировать, что функции могут быть разрешены на стороне Python:

При передаче сложных объектов в качестве аргументов имейте в виду, что внутри они преобразуются в JSON и отправляются через веб-сокет (процесс, который может привести к потере информации).

Eello, World!

Объединяем это в «Hello, World!». Например, у нас есть короткая HTML-страница «web/hello.html»:

и короткий скрипт на Python «hello.py»:

Если мы запустим скрипт Python (python hello.py), то откроется окно браузера с отображением hello.html, и мы увидим…

… в терминале и…

…в консоли браузера (чтобы открыть, нажмите F12).

Вы заметите, что в коде Python функция Javascript вызывается еще до запуска окна браузера — любые ранние вызовы, подобные этому, ставятся в очередь, а затем отправляются после установки веб-сокета.

Вывод:

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

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Также рекомендую:

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии