在简单播放器快速教程中遇到“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