2011-12-06 49 views
1

'gtk'が定義されていないことに気づいたので、PYGTKをインポートするための管理にもかかわらず、以下のコードである:以下NameError:グローバル名 'gtk'が定義されていません

import sys 

importStatus = False 

try: 
    from gtk import * 
    importStatus = True 

except ImportError: 
    print "PyGTK module does not exist. Can't launch GUI !" 
    print "Please download and install GTK and PyGTK." 
    importStatus = False 

if importStatus: 

    class gtkGUI(): 

     def __init__(self): 
      print "gtkGUI imported" 

     def startGUI(self): 
      print "GUI Started" 
      self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
      return None 

は誤りです:

Traceback (most recent call last): 
    File "mainGUI.py", line 14, in <module> 
    gtk.startGUI() 
    File "..../gtkGUI.py", line 25, in startGUI 
    gtk.main() 
NameError: global name 'gtk' is not defined 

どのように私はこのエラーを解決する必要がありますか?ありがとう。

答えて

3

PyGTKでシステムにGTKがインストールされている必要があります。あなたはPyGTK downloadsを見れば

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

は、インストールGTK +への参照を参照してください。通常はPyGTKのためのインポートは次のようになります。あなたがそれをしていることを確認してください(完全に正しいためにPyGTKをインストールする前にそれをやるべきだと思います)。

+0

ありがとうございました。あなたは正しいです:D。 – thotheolh

3

gtkはモジュールとして実際にはインポートされないため定義されていません。 from gtk import *を使用しています。モジュール全体をインポートするのではなく、gtkモジュールのすべてのメンバーを現在の名前空間にプルします。したがって、25行目でWindow(WINDOW_TOPLEVEL)に電話し、gtk.Window(gtk.WINDOW_TOPLEVEL)には電話しないでください。

from gtk import *ではなくimport gtkを使用することをおすすめします。

+0

ありがとうございます。あなたは正しいです:Dも同様です。 – thotheolh

関連する問題