0

wxpython は初めてです。richtextctrl で xml を読み込もうとしていますが、空白が表示されます。表示xmlと画像にrichtextctrlを使用しています。

class TestFrame(wx.Frame):
 def __init__(self, parent):
    wx.Frame.__init__(self, parent, -1, "A Grid", size=(500, 300))
    panel = wx.Panel(self, -1)


 self.__editor = editor = self.rtc = rt.RichTextCtrl(self, wx.ID_ANY, pos=wx.DefaultPosition, size=(390, 388), style=0);

    bsizer = wx.BoxSizer()
    bsizer.Add(editor, 1, wx.EXPAND)
    self.SetSizerAndFit(bsizer)

    self.rtc.Freeze()

    xml_file = open("E:/books.xml", "r")
    xml = xml_file.read()
    xml_file.close()       

    handler = rt.RichTextXMLHandler()
    handler.SetFlags(rt.RICHTEXT_HANDLER_INCLUDE_STYLESHEET)

    rt_buffer = self.rtc.GetBuffer()
    #rt_buffer.AddHandler(handler)
    output = StringIO(xml);    

    handler.LoadStream(rt_buffer,  output)  

    self.rtc.Refresh()

    self.rtc.Thaw()

app = wx.App()
frame = TestFrame(None)
frame.Show(True)
app.MainLoop()

また、次の方法も試しました。しかし、まだ結果はありません。

    self.rtc.GetBuffer().AddHandler(rt.RichTextXMLHandler())        
    stream = StringIO(xml);
    rt_buffer = self.rtc.GetBuffer()
    rt_buffer.LoadStream(stream, rt.RICHTEXT_TYPE_XML)

ここに何が欠けているか教えてください。

4

1 に答える 1

0

ドキュメントによると、RichTextCtrl は独自の XML 形式を使用します。その XML は、テキストのスタイル設定に使用されます。このウィジェットは、通常の XML を表示するためのものではありません。そのためには、通常の wx.TextCtrl を使用することをお勧めします。

于 2014-09-08T16:28:47.090 に答える