htmlPy 是对 PySide 的 QtWebKit 库的 Python 封装。可以用 HTML5 和 CSS3 来开发漂亮的图形界面应用程序。基于 Qt 构建,具备高度可定制以及跨平台支持。兼容 Python2 和 Python3.可用于任何 Python 库和环境,如 django, flask, scipy, virtualenv 等。也可以使用前端框架,如 bootstrap, jQuery, jQuery UI 等。
一个 htmlPy 基本应用包含如下三个组件:
后端:back_end.py
import htmlPy class BackEnd(htmlPy.Object): def __init__(self, app): super(BackEnd, self).__init__() self.app = app @htmlPy.Slot() def say_hello_world(self): self.app.html = u"Hello, world"
GUI: main.py
import htmlPy from back_end import BackEnd app = htmlPy.AppGUI( title=u"Sample application") app.maximized = True app.template_path = "." app.bind(BackEnd(app)) app.template = ("index.html", {}) if __name__ == "__main__": app.start()
前端:index.html
<html> <body> <a href="BackEnd.say_hello_world" data-bind="true"> Click to say "Hello, world" </a> </body> </html>