WxPython:无法使用MAC

时间:2016-05-16 11:31:53

标签: wxpython

我有一种情况,我需要在MAC中的wxPython面板中加载“html”源代码。

我在下面粘贴的类似代码。

这完全正常:(在Wx.Frame上加载)

类Try_Webkit(wx.Frame):     def init (self,parent,id,title):         wx.Frame。 init (self,parent,id,title)

    sizer = wx.BoxSizer(wx.VERTICAL)
    content_box = wx.BoxSizer(wx.VERTICAL)

    webkit = wx.webkit.WebKitCtrl(self, -1)
    webkit.SetPageSource(source)
    self.Show(True)

以下代码无效(使用wx.Panel,将无法加载任何内容,看起来是空白页)

类Try_Webkit(wx.Frame):     def init (self,parent,id,title):         wx.Frame。 init (self,parent,id,title)

    panel = wx.Panel(self)

    sizer = wx.BoxSizer(wx.VERTICAL)
    content_box = wx.BoxSizer(wx.VERTICAL)

    webkit = wx.webkit.WebKitCtrl(panel, -1)
    webkit.SetPageSource(source)
    self.Show(True)

WxPython版本:2.8.11.0 MAC:El Capitan 10.11.3

如何将html源加载到Panel?

1 个答案:

答案 0 :(得分:1)

您没有做任何事情来管理webkit控件的大小,因此它保持非常小的默认大小。如果您使用如下所示的sizer,那么您将看到它正常工作,因为我认为您期待它。

import wx
import wx.webkit

source = """\
<html><body>
<h1>Hello world</h1>
</body></html>
"""

class Try_Webkit(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)
        panel = wx.Panel(self)
        sizer = wx.BoxSizer(wx.VERTICAL)

        webkit = wx.webkit.WebKitCtrl(panel, -1, size=(200,200))
        webkit.SetPageSource(source)
        sizer.Add(webkit, 1, wx.EXPAND)
        panel.SetSizer(sizer)


app = wx.App()
frm = Try_Webkit(None, -1, "Try Webkit")
frm.Show()
app.MainLoop()