1

「gtk」が定義されていないことに気付き、実行時に PYGTK をインポートできたにもかかわらず、それが何を意味するのか理解できませんでした。以下はコードです:

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

このエラーを解決するにはどうすればよいですか? ありがとう。

4

2 に答える 2

3

PyGTKを搭載したシステムにGTKをインストールする必要があります。通常、PyGTKのインポートは次のようになります。

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

PyGTKのダウンロードを見ると、GTK+のインストールへの参照が表示されます。必ずそれを行ってください(完全に正しいためには、PyGTKをインストールする前に行うことになっていると思います)。

于 2011-12-06T04:08:43.717 に答える
3

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

import gtkよりも使用することをお勧めしfrom gtk import *ます。

于 2011-12-06T09:43:44.990 に答える