wxPython-如何在wx.RichTextCtrl中显示html格式的字符串

wxPython-如何在wx.RichTextCtrl中显示html格式的字符串,wxpython,richtextctrl,Wxpython,Richtextctrl,我试图在Richtext Ctrl中显示一些字符串(html格式)。在我的代码中,我尝试以这种方式使用它(self.txtmain是RichTextCtrl): 未发出任何错误,但RichTextCtrl窗口未更新。 我在这里遗漏了什么?查看“wx.Layout()”以更新窗口/小部件 在某些情况下,我使用“wx.Layout()”在添加项目后重新绘制整个窗口 例如,当我隐藏一个小部件并在同一位置显示另一个小部件时 在本例中,self.txtmain.Refresh()之后的self.Layou

我试图在Richtext Ctrl中显示一些字符串(html格式)。在我的代码中,我尝试以这种方式使用它(self.txtmain是RichTextCtrl):

未发出任何错误,但RichTextCtrl窗口未更新。 我在这里遗漏了什么?

查看“wx.Layout()”以更新窗口/小部件

在某些情况下,我使用“wx.Layout()”在添加项目后重新绘制整个窗口

例如,当我隐藏一个小部件并在同一位置显示另一个小部件时

在本例中,self.txtmain.Refresh()之后的self.Layout()

但是,我不确定它在你的情况下会起作用

要从StringIO()检索内容,必须使用getvalue()


更改为out.getvalue(),但我现在有了“TypeError:预期为wx.InputStream或类似Python文件的对象”。检查
htmlhandler.LoadStream(buffer,out)
的结果,false表示失败(我不知道原因,仍在处理)
out = StringIO()
htmlhandler = rt.RichTextHTMLHandler()
buffer = self.txtmain.GetBuffer()
buffer.AddHandler(htmlhandler)
out.write(string)
out.seek(0)
htmlhandler.LoadStream(buffer, out)
self.txtmain.Refresh()
out = StringIO()
htmlhandler = rt.RichTextHTMLHandler()
buffer = self.txtmain.GetBuffer()
buffer.AddHandler(htmlhandler)
out.write(string)
out.seek(0)
htmlhandler.LoadStream(buffer, out)
self.txtmain.Refresh()
self.Layout()
htmlhandler.LoadStream(buffer, out)
  htmlhandler.LoadStream(buffer, out.getvalue())