Я разрабатываю программу, используя wxrichtextctrl. Я застрял в установке шрифта для выделения. После многоголоджинга я нашел демонстрацию wxpython, где я нашел образец. Следующим является исходный код из демонстрации wxpython, которая генерирует ошибку.wxpython demo code richtextctrl
def OnFont(self, evt):
if not self.rtc.HasSelection():
return
r = self.rtc.GetSelectionRange()
fontData = wx.FontData()
fontData.EnableEffects(False)
attr = wx.TextAttr()
attr.SetFlags(wx.TEXT_ATTR_FONT)
if self.rtc.GetStyle(self.rtc.GetInsertionPoint(), attr):#line is generating error
fontData.SetInitialFont(attr.GetFont())
dlg = wx.FontDialog(self, fontData)
if dlg.ShowModal() == wx.ID_OK:
fontData = dlg.GetFontData()
font = fontData.GetChosenFont()
if font:
attr.SetFlags(wx.TEXT_ATTR_FONT)
attr.SetFont(font)
self.rtc.SetStyle(r, attr)#generating error
dlg.Destroy()
Я получаю сообщение об ошибке, если self.rtc.GetStyle (self.rtc.GetInsertionPoint(), Attr): Файл «C: \ python27 \ Lib \ сайт-пакеты \ WX-2.9.4- msw \ wx \ richtext.py ", строка 3121, в GetStyle TypeError: в методе 'RichTextCtrl_GetStyle', ожидаемый аргумент 3 типа 'wxRichTextAttr &'.
Файл "C: \ python27 \ Lib \ сайт-пакеты \ WX-2.9.4-MSW \ WX \ richtext.py", строка 3111, в SetStyle возвращение _richtext.RichTextCtrl_SetStyle (* арг, ** kwargs) TypeError: в методе 'RichTextCtrl_SetStyle', как ожидается аргумент 3 типа 'wxRichTextAttr сопзЬ &'
Я использую окна хр и WxPython 2.9 питона 2.7. В демо также нет шрифта и цвета. Создаются ошибки в стиле getstyle и setstyle. По-видимому, из-за этого шрифт и цвет не работают в демоверсии richtextctrl в демонстрации wxpython.