从PyInstaller打包的wxPython GUI应用程序打开默认浏览器

问题描述 投票:0回答:1

我有PyInstaller 3.6将wxPython Phoenix GUI包装到.exe的Python 3.7.5应用程序。冻结就是这样的参数:

venv\Scripts\pyinstaller app.pyw --clean --onefile --windowed --add-binary icon.ico;. --add-binary logo-iconic.ico;. --add-binary vendor.exe;. --icon logo-iconic.ico --version-file file_version_info.txt

我尝试在应用程序窗口中单击按钮时打开链接(例如https://google.com),但不显示控制台窗口。

我尝试过的事情:

  • wx.LaunchDefaultBrowser('https://google.com')
  • subprocess.Popen('C:\\Windows\\explorer.exe https://google.com')
  • [Recipe来自PyInstaller Wiki

如果我从PyInstaller参数中删除--windowed,则应用程序可以按预期与wx.LaunchDefaultBrowser('https://google.com')一起工作,但是在应用程序启动时会显示控制台窗口。如果像在PyInstaller配方中那样将stdout和stderr重定向到文件,则看不到任何内容,未创建文件。

如何在不带控制台的情况下用wxPython GUI打开PyInstaller打包的Python应用程序中的默认OS浏览器?

python wxpython pyinstaller
1个回答
0
投票

您可以使用webbrowser模块,它是stdlib的一部分:

from webbrowser import open
open('http://google.com')

这将在用户默认的浏览器中打开google.com

© www.soinside.com 2019 - 2024. All rights reserved.