Есть несколько способов сделать это, но тот, который лучше всего сработал для меня, это использовать CherryPy.CherryPy - это минималистичный веб-фреймворк Python, позволяющий запускать небольшой сервер на любом компьютере.У вас очень похожий вопрос по stackoverflow - Использование браузера для настольного интерфейса пользователя .
Код ниже будет делать то, что вы хотите.Пример 2 из учебника по CherryPy.
import cherrypy
class HelloWorld:
def index(self):
# Let's link to another method here.
return 'We have an <a href="showMessage">important message</a> for you!'
index.exposed = True
def showMessage(self):
# Here's the important message!
return "Hello world!"
showMessage.exposed = True
import os.path
tutconf = os.path.join(os.path.dirname(__file__), 'tutorial.conf')
if __name__ == '__main__':
# CherryPy always starts with app.root when trying to map request URIs
# to objects, so we need to mount a request handler root. A request
# to '/' will be mapped to HelloWorld().index().
cherrypy.quickstart(HelloWorld(), config=tutconf)
else:
# This branch is for the test suite; you can ignore it.
cherrypy.tree.mount(HelloWorld(), config=tutconf)
Я лично использую CherryPy в сочетании с несколькими другими модулями и инструментами:
- Mako (библиотека шаблонов)
- py2exe (преобразовать в исполняемый файл Windows)
- GccWinBinaries (используется в сочетании с py2exe)
Я написал статью о Browser as Desktop UI с CherryPy , в котором представлены модулии используемые инструменты, а также некоторые дополнительные ссылки, которые могут помочь.