静态文本是wx.StaticText超出帧大小

时间:2016-04-02 18:49:10

标签: python wxpython

我正在使用wx.Frame。在框架内我有wx.Panel。我正在使用wx.StaticText打印一些文字。当文本较大时,它不会进入框架中的新行。它超越了框架。

wx.Frame.__init__(self, parent, id, title, size=(800,800))
        self.panel = wx.Panel(self, -1, size=(800,800), style=wx.BORDER_RAISED)

        text = wx.StaticText(self, -1, dict1[key], pos=(10, 12), style = wx.ALIGN_CENTER)
        font = wx.Font(20, wx.DECORATIVE, wx.ITALIC, wx.NORMAL)
        text.SetFont(font)

1 个答案:

答案 0 :(得分:1)

您可以使用StaticText的wrap函数将字符串包装到给定的像素宽度中。然而,这不会对帧的大小调整作出反应。为此,您可能需要查看AutoWrapStaticText

无论如何,您问题的解决方案是:

 wx.Frame.__init__(self, parent, id, title, size=(800,800))
    self.panel = wx.Panel(self, -1, size=(800,800), style=wx.BORDER_RAISED)

    text = wx.StaticText(self, -1, dict1[key], pos=(10, 12), style = wx.ALIGN_CENTER)
    font = wx.Font(20, wx.DECORATIVE, wx.ITALIC, wx.NORMAL)
    text.SetFont(font)
    text.Wrap(width) # This is what I changed.