Проблемы с учебником по простому медиаплееру [дубликат]

Возможный дубликат:
Проблема с «gtk.RESPONSE_OK» в быстром руководстве по простому плееру

Я следую этому руководству, но дошел до точки остановки, когда у программы возникла проблема со строкой if response == gtk.RESPONSE_OK . Это происходит после нажатия кнопки «Открыть», затем выбора каталога и нажатия кнопки «ОК». Сообщение об ошибке: «NameError: глобальное имя 'gtk' не определено». Я исследовал его и обнаружил, что, по-видимому, нам нужно импортировать пару вещей:

import pygtk
pygtk.require("2.0")
import gtk

Если я добавлю это в SimpleMediaPlayerWindow.py, то программа выиграет ' t не запускается, выдает сообщение об ошибке:

/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type `PyGtkGenericCellRenderer' is smaller than the parent type's `GtkCellRenderer' class size
  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

Я думал, что все эти вещи были установлены и настроены правильно во время быстрой установки. Есть предложения?

Кстати, в учебнике есть несколько опечаток, которые могут затруднить восприятие.При удалении ранее существовавших контейнеров из окна он дважды говорит: «Перейдите по списку дочерних элементов и удалите label1», но во второй раз фактически ссылается на label2. «Найти горизонтальные панели на вкладке« Контейнеры »...» на самом деле следует читать «Найти панорамы на вкладке« Контейнеры »...» (возможно, это изменилось в обновленной версии glade). И наконец (пока): «Затем добавьте к вашей функции on_on_openbutton_clicked» в имени этой функции когда-то было слишком много включений.

3
задан 13 April 2017 в 15:23

2 ответа

Вы не должны импортировать и gtk, и pygtk, так как они вызовут конфликты друг с другом.

0
ответ дан 13 April 2017 в 15:23

Я столкнулся с той же проблемой и обнаружил, что правильный синтаксис не if response == gtk.RESPONSE_OK. Это должно быть if response == Gtk.ResponseType.OK. Это решило мою проблему и надеюсь, что это решит и вашу. Ссылка: https://bugs.launchpad.net/ubuntu/+source/quickly/+bug/929572

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: