【问题标题】:wxpython HtmlWindow: show full content?wxpython HtmlWindow:显示全部内容?
【发布时间】:2012-05-17 18:17:16
【问题描述】:

如何显示 HtmlWindow 的全部内容?我在可滚动面板中有一些 HtmlWindows,我想在这些窗口中查看全文。我尝试将比例设置为 1 并将样式设置为 wx.EXPAND,但这不起作用。
目前它看起来像这样:

但我想在 windows 中看到全文:

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()

【问题讨论】:

    标签: python wxpython wxhtmlwindow


    【解决方案1】:

    你还需要给sizer_2一个1或更大的比例。

    sizer_2.Add(sizer_3, 1, wx.EXPAND, 0)
    

    这使得 sizer_3 元素也可以适当地拉伸。否则,它只会向一个方向延伸。除非您使用高分辨率显示器,否则我也会减少您放入的 HTMLWindows 的数量。在这些低分辨率的宽屏幕上,将其展开以使所有文本在所有 Windows 中都可见是很困难的。

    【讨论】:

    • 不,我认为这行不通。这些 HtmlWindows 只是示例。它们在实际程序中都有不同的文本,窗口的数量也不同。如果我给它们所有相同的比例,它们中的一些会太大而一些会太小。顺便说一句,窗口的数量并不重要,因为它们位于 ScrolledPanel 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2012-08-28
    相关资源
    最近更新 更多