最近看python123的GUI项目推荐的时候,看到这个项目pywebview。pywebview 是一个轻量级的跨平台包装器,允许在自己的原生 GUI 窗口中展示HTML 内容。它使得你能在桌面应用程序中使用 web 技术,隐藏了 GUI 是基于浏览器的事实。你可以在 Flask 或 Bottle 这样的轻量级web框架中使用 pywebview,也可以在 Python 和 DOM 之间单独使用。
可以看出pywebview具有以下特性的:跨平台的,web技术,还可以直接与js交互。
对于有全干开发经验的pythoneer来说,这个库应该是极大的便利了GUI的编程实现。通过前端的组件和框架能够实现很好的界面效果,后台flask编写接口简单易用,搭配起来完美。
然后,开始下载源码,测试例子。各个过程都很完美。然而,我还是太天真了。too yang too simple!在打包exe文件的时候就遇到问题了。
- 找不到dll文件。(这个还好解决,在GitHub上的issue找到了解决方案,直接把源码lib里面的dll复制到项目文件下。然后使用
pyinstaller -w -F --add-data "WebBrowserInterop.x86.dll;./" --add-data "Microsoft.Toolkit.Forms.UI.Controls.WebView.dll;./" --add-data "Microsoft.Toolkit.Forms.UI.Controls.WebView.LICENSE.md;./" --onefile -y app.py
这条命令来打包项目。) - 打包完成后