我正在開發一個使用wxrichtextctrl的程序。我被困在設置字體的選擇。大量的谷歌搜索後,我發現了wxpython演示,我找到了一個示例。以下是wxpython演示的原始代碼,它會產生一個錯誤。wxpython演示代碼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(* ARGS,** kwargs) 類型錯誤:在方法 'RichTextCtrl_SetStyle',預期類型 'wxRichTextAttr常量&'
我使用Windows XP和wxPython的2.9蟒2.7的參數3。在演示中,字體和顏色也不起作用。 getstyle和setstyle正在生成錯誤。顯然是因爲這個字體和顏色在wxpython演示中的richtextctrl演示中不起作用。