获取wxPython中RichTextCtrl的默认字体大小

0 投票
1 回答
586 浏览
提问于 2025-04-15 22:15

我有一个叫做 RichTextCtrl 的控件,我对它进行了修改,让它可以接受 HTML 输入。现在,我需要让处理 HTML 的代码能够根据像 <font size="-1"> 这样的标签来增大或减小字体大小,但我不知道怎么调整控件的默认字体大小。
我尝试了以下代码(其中 self 是我的 RichTextCtrl):

fred = wx.richtext.RichTextAttr()
self.GetStyle(0,fred)
print fred.GetFontSize()

但是,最后一条指令失败了,因为 GetStyle 把 fred 转换成了一个 TextAttrEx 对象,所以我得到了 AttributeError: 'TextAttrEx' object has no attribute 'GetFontSize' 的错误。我是不是漏掉了什么更简单的方法来获取默认的字体大小?

1 个回答

0

我搞明白了。在任何数据写入控制之前:

self.defaultstyle = wx.richtext.RichTextAttr()
self.GetStyle(self.GetInsertionPoint(), self.defaultstyle)
self.defaultsize = self.defaultstyle.GetFont().GetPointSize()

撰写回答