Взял пример из wxPython demo.
Пытаюсь для текста который находится в self.rtc (RichText) установить шрифт:
def OnFont(self, evt):
if not self.rtc.HasSelection():
return
r = self.rtc.GetSelectionRange()
fontData = wx.FontData()
fontData.EnableEffects(False)
attr = rt.TextAttrEx()
attr.SetFlags(rt.TEXT_ATTR_FONT)
if self.rtc.GetStyle(self.rtc.GetInsertionPoint(), attr):
fontData.SetInitialFont(attr.CreateFont())
dlg = wx.FontDialog(self, fontData)
if dlg.ShowModal() == wx.ID_OK:
fontData = dlg.GetFontData()
font = fontData.GetChosenFont()
if font:
attr.SetFlags(rt.TEXT_ATTR_FONT)
attr.SetFont(font)
self.rtc.SetStyle(r, attr)
dlg.Destroy()
Traceback (most recent call last):
File "editor.py", line 235, in OnFont
if self.rtc.GetStyle(self.rtc.GetInsertionPoint(), attr):
File "/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wx/richtext.py", line 2468, in GetStyle
return _richtext.RichTextCtrl_GetStyle(*args, **kwargs)
TypeError: in method 'RichTextCtrl_GetStyle', expected argument 3 of type 'wxRichTextAttr &'
swig/python detected a memory leak of type 'wxTextAttrEx *', no destructor found.
Python 2.5.4
wxPython 2.8.6
OS: Linux