문제

나는 텍스트 덩어리를 구문 분석하고 간단한 처리(사전, 몇 가지 정규식 등에서 값 검색)를 수행한 다음 결과를 내는 작은 도구를 만들었습니다.

결과를 더 쉽게 읽을 수 있도록 두 개의 그래픽 포트를 만들었습니다. 하나는 tkInter이고 다른 하나는 wxPython입니다. 그래서 출력은 일부 단어가 다른 색상으로 텍스트 영역에 멋지게 표시됩니다.

tkInter 구현은 다음을 사용합니다. Tkinter.Text 개체를 사용하고 단어에 색상을 적용하려면 태그를 사용합니다(다음 메소드로 구성됨). Tkinter.Text.tag_config 그리고 그것들을 전달 Tkinter.Text.insert), 약 400개의 다양한 색상의 단어를 출력하면서 측정한 값은 < 0.02s입니다.

wxPython 구현은 다음을 사용합니다. wx.richtext.RichTextCtrl 단어 사용에 색상을 적용하려면 wx.richtext.RichTextCtrl.BeginTextColour 그런 다음 wx.richtext.RichTextCtrl.AppendText;성능은 우스꽝스럽습니다. tkInter 포트에 0.02초밖에 걸리지 않은 동일한 작업을 수행하는 데 약 1.4초가 걸립니다.

이것은 RichTextCtrl 위젯, wxPython 바인딩의 본질적인 문제입니까, 아니면 속도를 높일 수 있는 방법이 있습니까?

감사해요!

도움이 되었습니까?

해결책

문제를 해결한 의견을 여기에 복사하고 있습니다.

Freeze () 및 Thaw ()를 사용하여 컬러 텍스트를 추가 한 후에 만 ​​디스플레이 만 업데이트 했습니까?– mghie 6월 30일 7시 20분

다른 팁

질문을 약간 피하는 것 같지만 대신 wxStyledTextCtrl을 사용할 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top