Я довольно новичок как быстро, так и в Python Я столкнулся с несколькими проблемами при обучении быстрому использованию из следующего руководства на сайте разработчиков Ubuntu: http://developer.ubuntu.com/resources/app-developer-cookbook/multimedia/creating-a-simple-media -player /
Следующая ошибка, которую я не могу понять:
Traceback (most recent call last):
File "/home/sumit/Sumit/simple-player/simple_player/SimplePlayerWindow.py", line 36, in on_openbutton_clicked
if response==gtk.RESPONSE_OK:
NameError: global name 'gtk' is not defined
Я понимаю, что должен что-то импортировать, поэтому я попытался добавить import gtk
, который это не сработало, и оно выдало следующую ошибку:
from gtk import _gtk
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion `node != NULL' failed
from gtk import _gtk
До сих пор я следовал каждому шагу учебников. Но нет никакого упоминания о каком-либо другом импорте, кроме "подсказок" и "ОС". Пожалуйста, помогите.
Вклад Агменора, сталкивающийся с той же проблемой:
Я также пытался заменить текст if response == gtk.RESPONSE_OK:
на if response == Gtk.RESPONSE_OK:
(обратите внимание на заглавную G). Это дает еще одну ошибку:
AttributeError: 'gi.repository.Gtk' object has no attribute 'RESPONSE_OK'
В текущем быстром наборе инструментов 12.04 используется Gtk из gi.repository, а не более старый gtk.
Учебное пособие не было обновлено для этого изменения.
Это может быть / вашим камнем преткновения.
Выход cat SimplePlayerWindow.py
snip
from gi.repository import Gtk # pylint: disable=E0611
import logging
logger = logging.getLogger('simple_player')
/ snip
Я заменил «gtk.RESPONSE_OK» на «Gtk.ResponseType.OK»
Теперь все работает правильно.
Найдено здесь: http://python-gtk-3-tutorial.readthedocs.org/en/latest/dialogs.html