HtmlWindow在wxpython笔记本布局中不显示页面

0 投票
1 回答
592 浏览
提问于 2025-04-16 03:53

我有一个项目,是用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))

1 个回答

0

我觉得问题可能出在你把HtmlWindow对象添加到布局管理器(sizer)的方法上。你可以试着设置一下扩展标志(EXPAND),并把比例(proportion)设置为1。

self.sizer.Add(self.help, 1, wx.EXPAND)

撰写回答