0

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()
4

1 に答える 1

1

私はあなたがchkr.getText()正しいテキストを返すと確信しています。

于 2012-05-07T04:49:59.140 に答える