pyenchant のドキュメントによると、使用方法は次のとおりです。
>> import wx
>> from enchant.checker import SpellChecker
>> from enchant.checker.wxSpellCheckerDialog import wxSpellCheckerDialog
>>
>> app = wx.PySimpleApp()
>> 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.Show()
>> app.MainLoop()
これにより、スペル修正ダイアログボックスが開きます。
では、変更されたテキストを元に戻すにはどうすればよいですか?
編集1:
text = chkr.get_text() は、修正されたテキストを返します。しかし、次のエラーが発生します。
/quiz/submit/ での PyAssertionError C++ アサーション "wxThread::IsMain()" が wxEventLoop::Dispatch() の ....\src\msw\evtloop.cpp(244) で失敗しました: Windows メッセージを処理できるのはメイン スレッドだけです
これは私が実装したコードです
app = wx.PySimpleApp()
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()
text = chkr.get_text()