2014-09-08 3 views
0

iam new to wxpython. iam пытается загрузить xml в richtextctrl, но он показывает пустое. iam с использованием richtextctrl для отображения xml и изображений.не может загрузить файл xml в wx python 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) 

, пожалуйста, сообщите мне, что здесь отсутствует.

ответ

0

RichTextCtrl использует собственный формат XML в соответствии с documentation. Этот XML используется для стилизации текста. Этот виджет не предназначен для просмотра обычного XML. Для этого я бы рекомендовал использовать обычный wx.TextCtrl.

+0

wx.TextCtrl не поддерживает изображения. Спасибо, в любом случае. Я могу показать xml как строку в RichtextCtrl. – user2418193

+0

Вы никогда не говорили, что хотите отображать изображения, просто XML. –

+0

iam new для wxpython. iam пытается загрузить xml в richtextctrl, но он показывает пустое. iam с использованием richtextctrl для отображения xml и изображений. видеть очень топ – user2418193