2016-04-02 1 views
0

Я использую wx.Frame. Внутри рамки у меня есть wx.Panel. Я печатаю некоторый текст с wx.StaticText. Когда текст больше, он не собирается в новую строку в кадре. Это выходит за рамки.Статический текст 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

Вы можете использовать wrap функцию StaticText обернуть строку в заданную ширину пикселя. Однако это не повлияет на изменение размера кадра. Для этого вы можете взглянуть на 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.