gobject名称错误,即使没有导入错误

时间:2017-01-09 11:44:19

标签: gtk pygobject gobject appindicator

所以,我正在制作一个pygtk appindicator,需要定期调用某个函数。 gobject.timeout_add(millisec,function)就是一个解决方案。

我已经以这种方式导入了所有gi模块:

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import GObject
gi.require_version('Notify', '0.7')
gi.require_version('AppIndicator3', '0.1')

from gi.repository import Gtk as gtk
from gi.repository import AppIndicator3 as appindicator
from gi.repository import Notify as notify

并且没有任何导入错误。 然后,在我的主要功能中,我打电话:

gobject.timeout_add(2000,pr) 

这是实际的代码段:

def main():
    indicator = appindicator.Indicator.new(APPINDICATOR_ID, os.path.abspath('spotify.svg'),   appindicator.IndicatorCategory.SYSTEM_SERVICES)
    indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
    indicator.set_menu(build_menu())
    notify.init(APPINDICATOR_ID)
    gobject.timeout_add(2000,pr) 
    gtk.main()

并收到以下错误:

Traceback (most recent call last):
  File "appin.py", line 128, in <module>
    gobject.timeout_add(2000,pr) 
NameError: name 'gobject' is not defined

即使我用GObject替换gobject,我也会遇到同样的错误。

所以,请帮我解决同样的问题。 提前谢谢!!

1 个答案:

答案 0 :(得分:3)

您忘记了导入语句中的as gobject。你至少记得它为其他图书馆。请记住,Python区分大小写; GObjectgobject不同。