나는 같은 문제가 있었기 때문에 어제 썼다. 그래서 약간 알파가되었지만 잘 동작한다. 소스를 얻을 수있는 곳 : https://github.com/koehlma/pygtkspellcheck. pyenchant이 필요하고 Archlinux의 Python 3에서만 테스트합니다. 무언가가 작동하지 않는다면 Github의 버그 보고서를 작성하십시오.
python3 setup.py install
과 함께 설치해야합니다. 이 패키지는 맞춤법 검사를 수행하는 gtkspellcheck
과 de_DE
또는 en_US
과 같은 언어 코드에 대해 사람이 읽을 수있는 국제화 된 이름을 제공하는 pylocale
의 두 패키지로 구성됩니다.
에는 문서가 아직 없기 때문에, 예를 들어 :
# -*- coding:utf-8 -*-
import locale
from gtkspellcheck import SpellChecker, languages, language_exists
from gi.repository import Gtk as gtk
for code, name in languages:
print('code: %5s, language: %s' % (code, name))
window = gtk.Window.new(gtk.WindowType(0))
view = gtk.TextView.new()
if language_exists(locale.getdefaultlocale()[0]):
spellchecker = SpellChecker(view, locale.getdefaultlocale()[0])
else:
spellchecker = SpellChecker(view)
window.set_default_size(600, 400)
window.add(view)
window.show_all()
window.connect('delete-event', lambda widget, event: gtk.main_quit)
gtk.main()
달콤한. 그래서 그것은 py2.7와 함께 작동했습니다. 나는 gtkspellcheck 가져 오기와 if else를 가져 와서 내 프로그램에 넣었습니다. setup.py는 locale.db에 대한 오류를 발견했지만, 내 프로그램 안에 gtkspellcheck 및 locale 디렉토리를 복사하는 것이 좋습니다. 또한 레코드를 바꿀 때 gtk.TextBuffer를 대체하여 버퍼 텍스트를 다시로드합니다 (왜 그렇게하는지 확신 할 수 없음). 그래서 대체 후 맞춤법 검사기를 만들고 recheck_all을 호출해야했습니다. 그래도 문제를 포함하여 끝까지 끝내야합니다. 이것을 통합하는 데 10 분이 소요됩니다. 정말 고마워요. –
GtkSpell은 정말 짜증나.이 라이브러리는 훌륭해. 그래서 PyGtk로 백 포트하고 몇 가지를 추가했다 : https://github.com/koehlma/pygtkspellcheck/issues/2 – Havok