web-dev-qa-db-ja.com

シンプルプレーヤーの簡単なチュートリアルで「gtk.RESPONSE_OK」の問題に直面している

私は迅速にそしてPythonの両方にかなり新しいです。 Ubuntu開発者向けサイトの次のチュートリアルからすばやく使用することを学んでいる間、いくつかの問題に直面しています: http://developer.ubuntu.com/resources/app-developer-cookbook/multimedia/creating-a-simple-メディアプレーヤー/

理解できない次のエラー:

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

これまで、チュートリアルのすべての手順を実行してきました。しかし、「プロンプト」と「os」以外のインポートについては言及されていません。助けてください。


同じ問題に直面しているAgmenorの貢献:

私もテキストを置き換えようとしましたif response == gtk.RESPONSE_OK: 沿って if response == Gtk.RESPONSE_OK:(大文字のGに注意してください)。これは別のエラーを出します:

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

「gtk.RESPONSE_OK」を「Gtk.ResponseType.OK」に置き換えました

これですべてが正しく機能しています。

ここで見つかりました: http://python-gtk-3-tutorial.readthedocs.org/en/latest/dialogs.html

2
sumitgouthaman

12.04の現在の迅速なツールキットは、古いgtkではなくgi.repositoryのGtkを使用します。
チュートリアルはこの変更のために更新されていません。

これがあなたの問題であるかもしれません。

出力cat SimplePlayerWindow.py
をちょきちょきと切る

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

/をちょきちょきと切る

2
RobotHumans