wxPython继承字体

时间:2011-12-20 13:23:12

标签: python fonts wxpython

如何避免为每个标签写作:

static_text.SetFont(wx.Font(...))
static_text.SetForegroundColour(wx.Colour(...))

而是继承父元素或其他东西的字体?

2 个答案:

答案 0 :(得分:2)

如果更改父容器的字体,则会为其上的所有窗口小部件获取该字体。例如,更改Frame实例的字体,在静态文本和复选框中更改字体,而无需单独设置它们:

enter image description here

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