web-dev-qa-db-fra.com

Faire une fenêtre "À propos" dans la clairière

J'ai essayé de créer une fenêtre about comme About MATE dans Mate DE sur Ubuntu 14.04, et ceci est le .py fichier que j'ai fait:

 #!/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 __== "__main__":
     hwg = aboutGTK()
     gtk.main()

mais quand je lance le about.py c'est ce que j'ai obtenu:

$ 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

toute aide s'il vous plaît?

3
Marko Blanka

Vous devez utiliser GTK3 pour charger un fichier créé avec Glade 3.x. Comme Glade 2.x n'est pas disponible dans Ubuntu, le passage à GTK3 est votre meilleure option.

Pour utiliser GTK3 dans Python vous devez basculer de PyGTK vers PyGObject . Voir Le Python GTK + 3 Tutorial) pour savoir comment l'utiliser.

2
Florian Diesch