如何显示HtmlWindow的完整内容?我在可滚动面板中有一些HtmlWindows,我想在这些窗口中看到全文。我已经尝试将比例设置为1,将样式设置为wx.EXPAND,但这不起作用
目前它看起来像这样:
但我希望在窗口中看到全文:
some long text
with multiple lines
and another line
示例代码:
import wx
from wx import html
from wx.lib.scrolledpanel import ScrolledPanel
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
wx.Frame.__init__(self, *args, **kwds)
self.notebook_1 = wx.Notebook(self, -1, style=0)
self.notebook_1_pane_1 = ScrolledPanel(self.notebook_1, -1)
sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
sizer_2 = wx.BoxSizer(wx.VERTICAL)
for _ in xrange(10):
self.html = html.HtmlWindow(self.notebook_1_pane_1)
self.html.SetPage('some long text<br />with multiple lines<br />' \
'and another line')
self.html.SetBorders(0)
self.sizer_3_staticbox = wx.StaticBox(self.notebook_1_pane_1, -1,
'a')
sizer_3 = wx.StaticBoxSizer(self.sizer_3_staticbox, wx.VERTICAL)
sizer_3.Add(self.html, 1, wx.EXPAND, 0)
sizer_2.Add(sizer_3, 0, wx.EXPAND, 0)
self.notebook_1_pane_1.SetSizer(sizer_2)
self.notebook_1.AddPage(self.notebook_1_pane_1, "tab1")
sizer_1.Add(self.notebook_1, 1, wx.EXPAND, 0)
self.SetSizer(sizer_1)
self.notebook_1_pane_1.SetScrollRate(20, 20)
if __name__ == "__main__":
app = wx.PySimpleApp()
frame_1 = MyFrame(None, -1, size=(400, 300))
app.SetTopWindow(frame_1)
frame_1.Show()
app.MainLoop()
答案 0 :(得分:-1)
你需要给sizer_2一个或多个比例。
sizer_2.Add(sizer_3, 1, wx.EXPAND, 0)
这使得sizer_3元素也适当地伸展。否则,它只向一个方向伸展。除非你使用高分辨率显示器,否则我会减少你放入的HTMLWindows的数量。在这些低分辨率的宽屏幕上,扩展这一点以便在所有Windows中都可以看到所有文本。