0

我有一个项目使用 wxpython 设置为笔记本布局。我正在尝试创建一个帮助面板。HtmlWindow 对象不在面板上显示 html 页面。不显示任何错误并且对 HtmlWindow.GetOpenedPage() 的调用返回页面名称。

import wx
import wx.html as html

class HelpPanel(wx.Panel):
    def __init__(self, parent, id):
        wx.Panel.__init__(self, parent, id)
        self.panel = wx.Panel(self, -1)
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.help = html.HtmlWindow(self.panel, -1, style=wx.NO_BORDER)
        self.help.LoadFile('help.html')
        self.sizer.Add(self.help)
        self.panel.SetSizer(self.sizer)
        self.Show(True)

    def add_help_panel(self, parent, evt):
        self.help_panel = HelpPanel(parent, -1)
        parent.AddPage(self.help_panel, 'Help')
        parent.SetSelection(parent.GetPageCount()-1)

这是从菜单中打开帮助面板的调用:

wx.EVT_MENU(self, ID_HELP, lambda evt: help.HelpPanel.add_help_panel(help.HelpPanel(self.nb, -1), self.nb, evt))
4

1 回答 1

0

我认为问题可能是你如何将你的HtmlWindow对象添加到你的 sizer 中,尝试将 EXPAND 标志和比例设置为 1。

self.sizer.Add(self.help, 1, wx.EXPAND)
于 2010-09-08T23:01:44.803 回答