我正在使用 wxrichtextctrl 开发一个程序。我坚持为选择设置字体。经过大量谷歌搜索后,我找到了 wxpython 演示,在那里我找到了一个示例。以下是来自 wxpython 演示的原始代码,它正在生成一个错误。
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): File "C:\Python27\lib\site-packages\wx-2.9.4-msw\wx\richtext.py",我会收到错误消息,第 3121 行,在 GetStyle TypeError 中:在方法 'RichTextCtrl_GetStyle' 中,预期参数 3 类型为 'wxRichTextAttr &'。
文件“C:\Python27\lib\site-packages\wx-2.9.4-msw\wx\richtext.py”,第 3111 行,在 SetStyle return _richtext.RichTextCtrl_SetStyle(*args, **kwargs) TypeError: in method ' RichTextCtrl_SetStyle','wxRichTextAttr const &' 类型的预期参数 3
我正在使用 windows xp 和 wxpython 2.9 python 2.7。在演示中,字体和颜色也不起作用。getstyle 和 setstyle 正在生成错误。显然正因为如此,字体和颜色在 wxpython 演示中的richtextctrl 演示中不起作用。