0

テキストのチャンクを解析し、いくつかの簡単な処理 (辞書から値を取得する、いくつかの正規表現など) を実行し、結果を出力する小さなツールを作成しました。

結果を読みやすくするために、2 つのグラフィック ポートを作成しました。1 つは tkInter で、もう 1 つは wxPython で、出力はテキスト エリアに適切に表示され、いくつかの単語が異なる色で表示されます。

tkInter 実装はTkinter.Textオブジェクトを使用し、単語に色を適用するためにタグを使用します (メソッドで構成され、Tkinter.Text.tag_configそれらを に渡しますTkinter.Text.insert)。約 400 の異なる色の単語を出力する際の測定値は 0.02 秒未満です。

wxPython の実装ではwx.richtext.RichTextCtrl、and を使用して単語に色を適用しwx.richtext.RichTextCtrl.BeginTextColour、次にwx.richtext.RichTextCtrl.AppendText;を使用します。パフォーマンスはばかげています。tkInter ポートに 0.02 秒しかかからなかったのと同じジョブを実行するのに約 1.4 秒かかります。

これは RichTextCtrl ウィジェット、wxPython バインディングの本質的な問題ですか、それとも速度を上げる方法はありますか?

ありがとう!

4

2 に答える 2

1

問題を解決したコメントをここにコピーします。

Freeze() と Thaw() を使用して、色付きのテキストの追加が完了した後にのみ表示を更新しようとしましたか? — mghie 6 月 30 日 7:20

于 2009-07-27T16:32:18.177 に答える
0

質問を少し回避できますが、代わりに wxStyledTextCtrl を使用できますか?

于 2009-07-01T19:14:24.637 に答える