gobject 名称错误,即使没有导入错误
gobject name error even though there is no import error
所以,我正在制作一个 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,我也会得到同样的错误。
所以,请帮我解决同样的问题。
提前致谢!!
您在导入语句中忘记了 as gobject
。您至少为其他图书馆记住了它。请记住 Python 区分大小写; GObject
和 gobject
不同。
所以,我正在制作一个 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,我也会得到同样的错误。
所以,请帮我解决同样的问题。 提前致谢!!
您在导入语句中忘记了 as gobject
。您至少为其他图书馆记住了它。请记住 Python 区分大小写; GObject
和 gobject
不同。