Ошибка имени объекта даже при отсутствии ошибки импорта
Итак, я делаю аппендикатор pygtk и требует, чтобы определенная функция вызывалась регулярно. 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 ответ
Решение
Вы забыли as gobject
в вашем заявлении на импорт. Вы запомнили это как минимум для других библиотек. Помните, что Python чувствителен к регистру; GObject
а также gobject
разные.