在简单播放器快速教程中遇到“gtk.RESPONSE_OK”的问题

我对Python和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 

到目前为止,我已经完成了教程的每一步。 但是没有提到其他任何“提示”和“操作”的import。 请帮忙。


Agmenor的贡献,面临同样的问题:

我还尝试替换文本if response == gtk.RESPONSE_OK: by if response == Gtk.RESPONSE_OK:注意大写if response == Gtk.RESPONSE_OK: G)。 这给出了另一个错误:

 AttributeError: 'gi.repository.Gtk' object has no attribute 'RESPONSE_OK' 

12.04上的当前快速工具包使用来自gi.repository的Gtk而不是旧的gtk。
本教程尚未针对此更改进行更新。

这可能是一个/你的关键点。

输出cat SimplePlayerWindow.py
SNIP

 from gi.repository import Gtk # pylint: disable=E0611 import logging logger = logging.getLogger('simple_player') 

/剪断

我用“Gtk.ResponseType.OK”替换了“gtk.RESPONSE_OK”

现在一切正常。

在这里找到它: http : //python-gtk-3-tutorial.readthedocs.org/en/latest/dialogs.html