有没有办法预先确定 wx.StaticText 中文本的大小?

Is there a way to predetermine the size of text in a wx.StaticText?

我正在处理的项目涉及创建一组面板,其中一些带有 StaticText 对象,我想预先确定文本的大小,以便我可以确定 a) 使包含文本的面板和 b) 有多少 space 留给其他面板。

可能需要注意的是,我是手动调整大小和放置位置,而不是使用任何类型的 wx.Sizer。

wx.Font 骑行救援!
如果您不使用 sizer,您将负责小部件的 size
只需为适当的静态文本调整 font 并估计它们的大小。

import wx 
 
class Mywin(wx.Frame): 
    def __init__(self, parent, title): 
        super(Mywin, self).__init__(parent, title = title,size = (700,500))
        panel = wx.Panel(self) 
        box = wx.BoxSizer(wx.VERTICAL) 
        lbl0 = wx.StaticText(panel,-1, pos=(10,10)) 
        lbl1 = wx.StaticText(panel,-1, pos=(10,100)) 
        lbl2 = wx.StaticText(panel,-1, pos=(10,190)) 
        
        txt = "Python GUI development using wxPython" 
        
        font = wx.Font(16, wx.ROMAN, wx.ITALIC, wx.NORMAL) 
        lbl0.SetFont(font) #Set font and size for lbl
        lbl0.SetLabel(txt+' x16') 
        lbl0.SetSize((16*(len(txt)),30))
        lbl0.SetBackgroundColour('lightgreen') 
        
        lbl1.SetLabel(txt+' xNormal') #No font change for lbl1
        lbl1.SetBackgroundColour('lightblue') 
        
        font = self.GetFont() 
        font.SetPointSize(22) 
        lbl2.SetFont(font) #Set font size for lbl2
        lbl2.SetLabel(txt+' x22')       
        lbl2.SetSize((22*(len(txt)),34))   
        self.Show() 
        
app = wx.App()
Mywin(None,  'StaticText demo') 
app.MainLoop()