首页 > 解决方案 > 为什么它在 CentOS wx.html2 中不可用。WebView控件?

问题描述

我使用 wxpthon 库在 CentOS 系统 wx.html2 中编写 UI 程序。WebView控件,提示如下错误:

  File "main.py", line 143, in <module>
    frame = DemoFrame()
  File "main.py", line 101, in __init__
    self._mainPanel = MainPanel( self )
  File "main.py", line 17, in __init__
    self.view = wx.html2.WebView.New(self)
NotImplementedError

我的部分代码是这样的:

class MainPanel( sp.ScrolledPanel ):
    #Main Panel
    def __init__( self, parent ):
        sp.ScrolledPanel.__init__( self, parent=parent )
        self.SetupScrolling()
        self.view = wx.html2.WebView.New(self)
        self.view.LoadURL( "http://www.baidu.com" )

CentOS 版本:<strong>CentOS Linux release 8.2.2004 (Core)

Python版本:Python 3.6.8

wxPython 版本:4.1.1 gtk3 (phoenix) wxWidgets 3.1.5

标签: pythonwebviewwxpythoncentos8wx.html2

解决方案


NotImplementedError表示 wxPython 是在没有wx.html2支持的情况下编译的。在 Linux 上最可能的原因是安装/编译 wxPython 时 WebKit 开发包不存在。要解决此问题,请安装 WebKit2 开发包并重新安装 wxPython。在 CentOS 8 上,WebKit2 开发包是webkit2gtk3-devel,所以用包管理器安装它,例如,yum install webkit2gtk3-devel然后卸载/重新安装 wxPython。注意:您可能还必须清除 pip 缓存,以便它不会重新使用以前编译的 wxPython 版本。


推荐阅读