Проверка орфографии Gtk в Python с PyGObject на Ubuntu - PullRequest
3 голосов
/ 23 апреля 2011

Я создал небольшое вспомогательное приложение, используя Python и GTK.Я никогда не использовал GTK раньше.Согласно комментарию к http://www.pygtk.org/ я использовал интерфейс PyGObject.

Теперь я хотел бы добавить проверку орфографии в мой Gtk.TextBuffer.

Я нашел библиотеку с именем GtkSpell исвязанный python-gtkspell в диспетчере пакетов, но когда я пытаюсь импортировать его, происходит сбой с «ImportError: невозможно импортировать имя TextView из gtk», я предполагаю, что это означает, что он использует PyGtk вместо PyGObject.

Isесть ли способ заставить это работать с PyGObject?Или какую-то другую готовую систему проверки правописания GTK, которую я могу использовать вместо этого?

Ответы [ 2 ]

4 голосов
/ 04 сентября 2011

Я написал один вчера, потому что у меня была та же проблема, так что это немного альфа, но работает нормально.Вы можете получить источник от: https://github.com/koehlma/pygtkspellcheck. Требуется pyenchant , и я тестирую его только с Python 3 на Archlinux.Если что-то не работает, не стесняйтесь заполнять отчет об ошибке на Github.

Вы должны установить его с python3 setup.py install.Он состоит из двух пакетов: gtkspellcheck, который выполняет проверку орфографии, и pylocale, который предоставляет понятные человеку интернационализированные имена для языковых кодов, таких как de_DE или en_US.

Поскольку документации пока нет, пример:

# -*- 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()
1 голос
/ 23 апреля 2011

Боюсь, что интерфейс PyGObject достаточно новый, чтобы GtkSpell еще не обновлялся для его использования.Насколько я знаю, нет другой готовой проверки правописания GTK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...