Frage

Ich habe ein kleines Tool gemacht, die ein Stück Text analysiert, hat einige einfache Verarbeitung (Werte aus einem Wörterbuch abruft, ein paar regex, etc.) und dann spuckt die Ergebnisse.

Um einfacher zu machen, die Ergebnisse zu lesen, habe ich zwei Grafik-Ports, einer mit tkinter und andere mit wxPython, so dass der Ausgang schön in einem Textbereich mit einem paar Worten mit unterschiedlichen Farben angezeigt wird.

Die tkinter Implementierung verwendet Tkinter.Text Objekt und die Farben auf die Worte anzuwenden verwendet Tags (konfiguriert, um mit der Methode Tkinter.Text.tag_config und Weitergabe an Tkinter.Text.insert) und das gemessen wird, während etwa 400 verschiedenen farbigen Worten Ausgeben <0,02 s.

Die WxPython Implementierung verwendet wx.richtext.RichTextCtrl und die Farben auf die Worte anzuwenden verwendet wx.richtext.RichTextCtrl.BeginTextColour und dann wx.richtext.RichTextCtrl.AppendText; die Leistung ist lächerlich, es stößt 1.4s nimmt die gleiche Arbeit zu tun, die nur 0,02 s zum tkinter Hafen nahmen.

Ist das ein intrinsisches Problem des RichTextCtrl widget, die WxPython Bindungen, oder es gibt einen Weg, es zu beschleunigen?

Danke!

War es hilfreich?

Lösung

Ich bin Kopieren Sie hier den Kommentar, der das Problem gelöst:

  

Haben Sie versucht, Einfrieren mit () und   Thaw (), um nur die Anzeige zu aktualisieren   nachdem Sie das Anhängen erfolgt die   farbiger Text? - mghie 30. Juni um 7:20

Andere Tipps

Es vermeidet Art die Frage leicht, aber könnten Sie wxStyledTextCtrl statt?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top