
pywebview构建桌面应用新选择
pywebview 是一个轻量级的 Python 库,它允许开发者在桌面应用中使用原生的 Web 视图组件来展示 HTML、CSS 和 JavaScript 构建的 Web 页面。如果你有现成的前后端分离项目要打包为桌面应用,这个是最方便的。
一、安装 pywebview
pip install pywebview
import webviewdef load_html(): # 这里可以返回一个 HTML 字符串或者加载本地 HTML 文件的路径 html = """ <html> <body> <h1>欢迎使用 pywebview 示例应用</h1> <p>这是一个在桌面应用中嵌入 Web 内容的简单演示。</p> </body> </html> """ return htmlif __name__ == '__main__': # 创建一个窗口,并指定窗口标题和加载的 HTML 内容 window = webview.create_window('pywebview 演示', html=load_html()) webview.start()
import webviewdef python_function(): print("这是从 JavaScript 调用的 Python 函数")def load_html(): html = """ <html> <body> <h1>pywebview 交互示例</h1> <button onclick="callPythonFunction()">调用 Python 函数</button> <script> function callPythonFunction() { // 使用 pywebview 的 JavaScript API 调用 Python 函数 pywebview.api.python_function(); } </script> </body> </html> """ return htmlif __name__ == '__main__': api = { 'python_function': python_function } window = webview.create_window('pywebview 交互演示', html=load_html(), js_api=api) webview.start()
mounted() { window.external = { vueMethod: (data) => { console.log('Received data from Python:', data); // 在这里可以进行相应的处理,如更新 Vue 组件的状态 } };}
import webviewdef load_vue_app(): # 这里指定 Vue3 应用构建后 index.html 的路径 return 'path/to/my-vue-app/dist/index.html'def call_vue_method(): window.evaluate_js('window.external.vueMethod("Hello from Python")')if __name__ == '__main__': window = webview.create_window('My Vue3 Desktop App', html=load_vue_app()) webview.start(call_vue_method)
[超站]友情链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/

随时掌握互联网精彩
- 1 习近平总书记40余年的牵挂 7904557
- 2 人人人人人人机器人人人人人人 7808273
- 3 幼儿园招生进入白热化 7711854
- 4 子弟兵的背永远是最坚实的依靠 7616511
- 5 西安汉服店主被拘5天 女游客被拘6天 7522724
- 6 洪水1分钟冲走10多辆车清空停车场 7427097
- 7 中国男子在美移民拘留中心上吊身亡 7329556
- 8 80多头牛失踪20多头俩月后寻见 7232136