pywebview:使用 Python 和 Web 技术构建轻量级桌面应用
大家好,今天我们来聊聊一个非常轻量且强大的 Python 库——pywebview。如果你曾经为开发一个简单的桌面应用而纠结于 Electron 的笨重、PyQt 的复杂,或是 Tkinter 的界面简陋,那 pywebview 或许正是你一直在找的解决方案。
一、介绍
pywebview 是一个轻量级的跨平台 Python 库,它允许你在一个原生窗口中嵌入 Web 技术(HTML/CSS/JS)来构建 GUI 界面。本质上,它就是一个迷你浏览器内核,让你可以用写网页的方式写桌面应用。
与其他桌面框架对比:
- Electron:功能强大,但打包体积大、内存占用高。
- PyQt/Tkinter:原生控件,但界面现代化程度低、开发效率不高。
- pywebview:轻量、跨平台、易上手,适合快速开发中小型桌面应用,尤其是已有 Web 前端的项目。
二、安装
安装全量版本
pip install pywebview
安装指定环境版本
如果你希望控制依赖版本,可以使用:
pip install pywebview[qt] # 使用 Qt 后端
pip install pywebview[cef] # 使用 CEF 后端
三、使用入门
3.1 基本使用
来看一个最简单的例子:
import webview
def main():
window = webview.create_window('Hello pywebview', 'https://pywebview.flowrl.com')
webview.start()
if __name__ == '__main__':
main()
函数说明:
create_window():创建窗口,参数包括标题和初始 URL 或本地 HTML 路径。start():启动 GUI 事件循环。

3.2 应用程序架构
纯网络服务架构
就如上文的基本使用,前端只需暴露应用服务器,后端调用即可。
import webview
if __name__ == '__main__':
webview.create_window(, )
webview.start(http_server=, port=)




