私は同じ問題を抱えていたので、昨日書いたので、少しアルファですが、うまくいきます。ソースはhttps://github.com/koehlma/pygtkspellcheckから取得できます。それはpyenchantを必要とし、私はArchlinux上のPython 3でそれをテストするだけです。何かがうまくいかない場合は、Githubのバグレポートに記入してください。
python3 setup.py install
と一緒にインストールする必要があります。これは、スペルチェックを行うgtkspellcheck
とde_DE
またはen_US
のような言語コードのための人間が読める国際化された名前を提供するpylocale
の2つのパッケージで構成されています。
何のドキュメントはまだありませんので、例:
# -*- 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とロケールのディレクトリを自分のプログラムの中にコピーしても問題ありません。また、レコードを切り替えるときにgtk.TextBufferを置き換えることでバッファテキストをリロードします(私がなぜそれを行うのかわかりません)ので、置換後にスペルチェッカーを作成してrecheck_allを呼び出さなければなりませんでした。それでも、問題を含めて終わりにこれを統合する10分のトップ、ありがとうございます。 –
GtkSpellは本当にうまくいきます。このライブラリは素晴らしいので、PyGtkにバックポートして、いくつか追加しました:https://github.com/koehlma/pygtkspellcheck/issues/2 – Havok