很多时候,我会在wxPython应用程序中对静态文本使用相同的字体方案。目前我正在为每个静态文本对象进行SetFont()调用,但这似乎是很多不必要的工作。但是,wxPython演示和wxPython In Action书中没有讨论这个问题。
有没有办法轻松地将相同的SetFont()方法应用于所有这些文本对象,而不是每次都进行单独的调用?
发布于 2018-09-11 09:02:18
也许尝试子类化文本对象,在类__init__
方法中只调用SetFont()?
或者,做类似的事情:
def f(C):
x = C()
x.SetFont(font) # where font is defined somewhere else
return x
然后用它来装饰你创建的每个文本对象:
text = f(wx.StaticText)
(当然,如果StaticText
构造函数需要一些参数,则需要更改f
函数定义中的第一行)。
发布于 2018-09-11 10:23:14
您可以通过在添加任何窗口小部件之前在父窗口(框架,对话框等)上调用SetFont来完成此操作。子窗口小部件将继承该字体。
https://stackoverflow.com/questions/-100000745
复制相似问题