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

Wxpython 有没有办法预先确定wx.StaticText中文本的大小?,wxpython,Wxpython,我正在进行的项目包括创建一组面板,其中一些面板中有一个StaticText对象,我想预先确定文本的大小,以便我可以确定a)制作包含文本的面板的大小,以及b)为其他面板留有多少空间 可能需要注意的是,我是在手动调整大小和放置位置,而不是使用任何类型的wx.Sizer。wx.Font拯救 如果您不使用Sizer,您将负责小部件的大小。 简单地说,为适当的静态文本调整字体,并近似其大小 import wx class Mywin(wx.Frame): def __init__(self

我正在进行的项目包括创建一组面板,其中一些面板中有一个StaticText对象,我想预先确定文本的大小,以便我可以确定a)制作包含文本的面板的大小,以及b)为其他面板留有多少空间


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

wx.Font
拯救
如果您不使用Sizer,您将负责小部件的
大小。
简单地说,为适当的静态文本调整
字体
,并近似其大小

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