常见问题解答(FAQ)
大约 2 分钟
常见问题解答(FAQ)
如何设置应用程序图标?
对于 macOS、Windows 和 Android 系统,应用程序图标是通过打包程序设置并嵌入到生成的可执行文件中的。而对于 GTK 和 QT,则可以通过 webview.start(icon=icon_path)
来设置应用程序图标,但实际显示效果可能会因所使用的窗口管理器而异,需要进行一些额外的调整。
为什么 pywebview 必须在主线程上运行?
这是由 pywebview 所依赖的基础 GUI 库决定的。GUI 消息循环要求必须在主线程上运行。虽然某些库允许在子线程中运行 GUI,但 Cocoa 对主线程有严格的要求。如果你需要在主线程上运行逻辑,请使用 multiprocessing
模块。
没有找到 webview 的 create_window 属性
很可能是当前目录下存在一个名为 webview.py
的文件。将该文件重命名即可解决问题。
使用了哪个渲染器?
在运行程序之前,设置环境变量 PYWEBVIE_WLOG=debug
,这样程序输出的第一行会显示使用的渲染器信息。查看可用的渲染器 此处
在 macOS 系统中终端窗口接收键盘事件
如果你使用 macOS 内置 Python 创建虚拟环境,pywebview 窗口在键盘焦点和 Cmd+Tab 方面可能会出现问题。为了避免此问题,请使用其他来源安装的 Python。例如,通过 Homebrew 安装 Python 3。
brew install python3
virtualenv pywebview_env -p python3
打包后的可执行文件过大
可执行文件过大是由于打包工具打包了不必要的依赖项所致。例如,如果你安装了 PyQt
但在 Windows 上使用 Winforms,Pyinstaller 会一并打包这两个框架。为了在 Pyinstaller 中避免这种情况,请使用 --exclude-module
选项来明确排除不需要的模块。