Я хочу создать приложение, которое работает на пользовательском компьютере, автономном приложении, с установкой и этажеркой, но я хочу, чтобы интерфейс был браузером, или внутренним и отображенным как окно OS или внешнее доступное использование браузера (т.е. некоторый http сервер).
Причина состояла бы в том, потому что я знаю немного о Python, но я думаю, что могу справиться, пока у меня есть некоторые основные корни, которые я могу использовать и управлять, и это был бы HTML, CSS и JavaScript.
Я должен все же найти хороший инструмент GUI, который я могу использовать и всегда отказываться от идеи после попытки бездельничать и в конечном счете не получение чего-либо.
Python предлагает две вещи, которые должны вас заинтересовать:
Таким образом, добавить веб-интерфейс к вашему приложению относительно просто. Например, в Mercurial (система управления версиями) у вас есть команда hg serve
, запускающая веб-сервер.
Чтобы увидеть, как python запускает веб-сервер и приложение WSGI, просто выполните:
python -m 'wsgiref.simple_server'
Вы можете посмотреть исходный код wsgiref или какой-нибудь учебник WSGI, чтобы создать простое приложение.
После этого вы можете захотеть использовать веб-фреймворк (для создания шаблонов и т. Д.), Но это уже другой вопрос ...
Вы можете использовать Пижамы . Это перенос Google Web Toolkit на Python, что в основном означает, что вы пишете на Python, и он компилируется в HTML и JS.
Существует множество отличных инструментов для создания графического интерфейса - HTML, CSS и Javascript. Если вы не знаете ни одного, задайте отдельный вопрос с правильными тегами.
Сторона Python в такой схеме не должна иметь собственного GUI, а просто запускать подкласс HTTP-сервера стандартной библиотеки Python, просто обслуживая файлы HTML, CSS и JS, и данные через JSON на других URL, которые JS может достичь с помощью техники Ajax, по существу реализуя хранение и бизнес-логи - так что далеко не очевидно, какой "инструмент GUI" вы могли бы хотеть для этого?!
Просто разрабатывайте Python отдельно (например, с помощью IDLE, Wingware, SPE, или как вам больше нравится), а HTML / CSS / Javascript отдельно, с собственным "GUI-инструментом". Все, что Python будет делать с этими файлами, это статически обслуживать их, в конце концов.
Вы можете подумать об использовании шаблонизаторов на стороне Python, таких как Mojo и т.д., но моя рекомендация - избегать этого: лучше пойти по пути "тонкой серверной архитектуры", сделать сторону Python RESTful сервером бизнес-логики и уровней хранения, а всю работу GUI делать в браузере.
Вы прибегаете к веб-браузеру только потому, что у вас возникли трудности с инструментами виджетов Python, такими как Tkinter, wxpython и pyqt?
Вы пробовали Qt Designer? Это графический дизайнер GUI, позволяющий очень быстро и легко разрабатывать великолепные графические интерфейсы. Он устанавливается автоматически вместе с PyQt.