Ubuntu 14.04のMate DEでAbout MATE
のようなabout
ウィンドウを作成しようとしましたが、これは私が作成した.py
ファイルです。
#!/usr/bin/env python
import sys
try:
import pygtk
pygtk.require("2.0")
except:
pass
try:
import gtk
import gtk.glade
except:
sys.exit(1)
class aboutGTK:
"""About"""
def __init__(self):
#Set the Glade file
self.gladefile = "about.glade"
self.wTree = gtk.glade.XML(self.gladefile)
#Create our dictionay and connect it
dic = { "on_btnabout_clicked" : self.btnabout_clicked,
"on_MainWindow_destroy" : gtk.main_quit }
self.wTree.signal_autoconnect(dic)
def btnabout_clicked(self, widget):
print "About"
if __name__ == "__main__":
hwg = aboutGTK()
gtk.main()
しかし、about.py
を実行すると、次のようになります。
$ python about.py
(about.py:9950): libglade-WARNING **: Expected <glade-interface>. Got <interface>.
(about.py:9950): libglade-WARNING **: did not finish in PARSER_FINISH state
Traceback (most recent call last):
File "about.py", line 34, in <module>
hwg = aboutGTK()
File "about.py", line 22, in __init__
self.wTree = gtk.glade.XML(self.gladefile)
RuntimeError: could not create GladeXML object
何か助けてください?
Glade 3.xで作成されたファイルをロードするには、GTK3を使用する必要があります。 Glade 2.xはUbuntuで利用できないため、GTK3に切り替えることが最善の選択肢です。
PythonでGTK3を使用するには、PyGTKから PyGObject に切り替える必要があります。 The Python GTK + 3チュートリアル の使い方。