我尝试在 Ubuntu 14.04 上的 Mate DE 中创建about
窗口About MATE
,这是.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
请问有什么帮助吗?
答案1
您需要使用 GTK3 来加载使用 Glade 3.x 创建的文件。由于 Glade 2.x 在 Ubuntu 中不再可用,因此切换到 GTK3 是您的最佳选择。
要在 Python 中使用 GTK3,你需要从 PyGTK 切换到对象。 看Python GTK+ 3 教程如何使用它。