2017-12-17 25 views
0

저는 Python을 처음 접했고 wxSpellCheckerDialog 클래스에 사용자 입력을 전달하는 방법에 어려움을 겪었습니다.wxSpellCheckerDialog에 대한 사용자 입력 텍스트를 얻는 방법

찾은 샘플 코드를 바탕으로 작성자는 다음과 같은 코드를 언급했습니다.이것은 검사 할 텍스트가 문자 배열 일 때 가장 유용합니다. 사용자가 대화 상자와 상호 작용할 때 수정되었습니다. 문자열을 확인하기 위해, 최종 결과 는 맞춤법 검사기 객체에서 얻을 수해야합니다

>>> dlg = wxSpellCheckerDialog(None,-1,"") 
    >>> chkr = SpellChecker("en_AU",text) 
    >>> dlg.SetSpellChecker(chkr) 
    >>> dlg.ShowModal() 
    >>> text = dlg.GetSpellChecker().get_text() 

을하지만, 내 파이썬 코드에 배치했다, 그것은 여전히 ​​제대로 작동하지 않습니다.

wxSpellCheckerDialog에 사용자 입력 문장을 지정하는 방법에 대한 도움이 필요합니까?

미리 감사드립니다.

답변

0

분명하지는 않습니까?

import wx 
from enchant.checker import SpellChecker 
from enchant.checker.wxSpellCheckerDialog import wxSpellCheckerDialog 
app = wx.App() 
text = "This is sme text with a fw speling errors in it. Here are a fw more to tst it ut." 
dlg = wxSpellCheckerDialog(None,-1,"") 
chkr = SpellChecker("en_US",text) 
dlg.SetSpellChecker(chkr) 
dlg.ShowModal() 
checked_text = dlg.error_text.GetValue() 
print (checked_text) 
dlg.Destroy() 
app.MainLoop() 

슬프게도 구현에 몇 가지 버그가있는 것으로 보입니다. 따라서 전체 텍스트가 항상 반환되는 것은 아닙니다. 창 크기 및/또는 확인한 텍스트의 크기에 따라 달라집니다. 저것 또는 그것에 나의 형식적인보기는, 생명 무언가를 놓쳤다.
print (dir(dlg))을 사용하여 사용할 수있는 항목을 확인하십시오.