在Ubuntu上用PyGObject在python中进行Gtk拼写检查

2024-05-06 23:08:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经使用Python和GTK创建了一个小helper应用程序。我从没用过GTK。根据对http://www.pygtk.org/的评论,我使用了PyGObject接口。在

现在我想在我的Gtk.TextBuffer. 在

我在包管理器中找到了一个名为GtkSpell的库和一个关联的python GtkSpell,但是当我试图导入它时,它失败了,并显示“ImportError:cannot import name TextView from gtk”,我推测这意味着它使用的是PyGtk而不是PyGObject。在

有什么方法可以让PyGObject工作吗? 或者其他一些我可以用的预先制作的GTK拼写检查系统?在


Tags: orghelper应用程序httpgtk管理器www评论
2条回答

恐怕PyGObject接口太新了,GtkSpell还没有更新以使用它。据我所知,没有其他预制的GTK拼写检查器。在

我昨天写了一个,因为我有同样的问题,所以它有点阿尔法,但它工作得很好。您可以从:https://github.com/koehlma/pygtkspellcheck获取源代码。它需要pyenchant,我只在Archlinux上用python3测试它。如果有什么不起作用,请在Github上填写错误报告。在

你必须用python3 setup.py install安装它。它由两个包组成,gtkspellcheck负责拼写检查,pylocalede_DE或{}等语言代码提供可读的国际化名称。在

因为还没有文档,例如:

# -*- 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()

相关问题 更多 >