如何获取wxSpellCheckerDialog的用户输入文本

时间:2017-12-17 08:52:30

标签: python wxpython spell-checking

我是Python的新手,我一直在努力将用户输入传递给wxSpellCheckerDialog类。

根据我找到的示例代码,作者提到了如下代码:     当要检查的文本采用的形式时,这非常有用     一个字符数组,因为它将作为用户在适当的位置进行修改     与对话框交互。用于检查字符串,最终结果     需要从SpellChecker对象中获取:

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

但是,我已经放入了我的Python代码,它仍然无法正常工作。

我可以获得有关如何为wxSpellCheckerDialog分配用户输入句子的任何帮助吗?

提前致谢。

1 个答案:

答案 0 :(得分: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))检查可用的项目。