如何避免为每个标签写作:
static_text.SetFont(wx.Font(...))
static_text.SetForegroundColour(wx.Colour(...))
而是继承父元素或其他东西的字体?
答案 0 :(得分:2)
如果更改父容器的字体,则会为其上的所有窗口小部件获取该字体。例如,更改Frame实例的字体,在静态文本和复选框中更改字体,而无需单独设置它们:
Afaik如果你想修改你无法访问的现有代码来编写SetFont行,那么你需要编写这些类。显而易见的是将Font设置在父类中__init__
之外的方法中,以便在类中覆盖它,该类将继承自受限访问类
答案 1 :(得分:1)
尝试类似的东西:
class Label(wx.StaticText):
def __init__(self, *args, **kwargs):
wx.StaticText.__init__(self, *args, **kwargs)
self.SetFont(wx.Font(...))
self.SetForegroundColour(wx.Colout(...))
...
static_text = Label(...)