在 Glade 中创建“关于”窗口

在 Glade 中创建“关于”窗口

我尝试在 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 教程如何使用它。

相关内容