Python: создание настольного приложения с графическим интерфейсом HTML

Этот вопрос связан скорее с методологией.

Я хочу создать настольное приложение Python, но я не хочу, чтобы его графический интерфейс был как tkinter или вроде PyQt. Я предпочитаю иметь красивый и современный клиентский интерфейс, например Bootstrap.

Существует ли какой-либо существующий API для создания таких приложений в Python?

Если это не так: звучит ли разумная рабочая среда для использования какого-либо сервера Python (например, Django или как web2py)), и для запуска нового сервера каждый раз, когда приложение запущенном пользователем, только для того, чтобы ядро ​​приложения находилось на Python, а клиент - в HTML? Кто-нибудь работает таким образом?

2 ответа

Используйте поддержку PyQt, Qt WebEngine и Qt для размещения HTML-приложений:

http://doc.qt.io/qt-5/qtwebchannel-index.html

Общая архитектура - это приложение SPA (одностраничное приложение), работающее из локального содержимого HTML и Javascript в комплекте с вашим приложением - нет необходимости связывать веб-сервер.

Для чего-либо сложного (например, обхода проблем с перекрестным происхождением) используйте Qt WebChannel для сообщения для функциональности, построенной на стороне Python.

Это в основном та самая архитектура, которую использует Кордова.

Теперь, нужно ли создавать приложение таким образом (кашель QML кашель) - это совершенно другая тема.


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

Если вы идете по этому маршруту, посмотрите также http://brython.info/, имея одинаковые языки во всем, что позволяет переключать контекст мозга меньше "накладных расходов" (помилуй каламбур).

licensed under cc by-sa 3.0 with attribution.