setzen glade-interface in python
Habe ich eine gui in der Lichtung, die ich möchte in einem python-Programm. Ich war die Anpassung der Anweisungen von einem tutorial fand ich online, um Ladung in meine glade-Datei (http://www.pygtk.org/articles/pygtk-glade-gui/Creating_a_GUI_using_PyGTK_and_Glade.htm). Wenn ich Probleme hatte, habe ich versucht, etwas basic (eine Taste) nennen es die gleiche Sache wie Sie in diesem tutorial, und kopieren Sie Ihren code einfügen, und es funktioniert immer noch nicht. Ich nahm auch einen Blick auf (http://www.linuxjournal.com/article/6586?page=0,2), die eine Funktion aufgerufen wird, etwas anders ("self.wTree=gtk.glade.XML (gladefile,windowname)" statt, ohne windowname), und realisiert ein äquivalent mit mir, und dass nicht es zu beheben. Ich habe definitiv pygtk zu arbeiten, machte ich etwas, ohne mit der Waldwiese vor und es funktionierte gut. Die Fehler ich erhalte, ist:
/usr/share/themes/NOX/gtk-2.0/gtkrc:233: Murrine configuration option "gradients"
is no longer supported and will be ignored.
(helloWorld.py:9804): libglade-WARNING **: Expected <glade-interface>. Got
<interface>.
(helloWorld.py:9804): libglade-WARNING **: did not finish in PARSER_FINISH state
Traceback (most recent call last):
File "helloWorld.py", line 31, in <module>
hwg = HellowWorldGTK()
File "helloWorld.py", line 22, in __init__
self.wTree = gtk.glade.XML(self.gladefile)
RuntimeError: could not create GladeXML object
Bin ich mit xubuntu 11.04. Die Murrine-Konfiguration, was kommt, wenn jeder gtk-Anwendung geöffnet wird, aber ich habe es, falls es relevant ist. Hier ist der code, den ich nahm aus dem tutorial (aber nicht funktioniert)
#!/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 HellowWorldGTK:
"""This is an Hello World GTK application"""
def __init__(self):
#Set the Glade file
self.gladefile = "PyHelloWorld.glade"
self.wTree = gtk.glade.XML(self.gladefile)
#Get the Main Window, and connect the "destroy" event
self.window = self.wTree.get_widget("MainWindow")
self.window.show()
if (self.window):
self.window.connect("destroy", gtk.main_quit)
if __name__ == "__main__":
hwg = HellowWorldGTK()
gtk.main()
- Dies beantwortet auch Ihre Frage: stackoverflow.com/questions/2668618/...
- Danke :). Es funktioniert jetzt.
- Werfen Sie einen Blick in diesen link techaffairs.com.br/... in diesem Beitrag werden Sie in der Lage sein, um den code zu erhalten. B. dieser Beitrag ist in Portugiesisch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit diesem code:
Erinnern:
In der Waldwiese, Bearbeiten Sie die "Preferences" die Datei "GTKBuilder" (nicht "libglade")
Ihre PyHelloWorld.glade ist falsch. Stellen Sie sicher, dass Sie es mit der richtigen Glade-Anwendung, es gibt Glade2 und Glade3-Anwendungen, die installiert und verwendet werden kann. Wenn Sie die Datei heruntergeladen haben, stellen Sie sicher, dass es korrekt ist. Die Fehlermeldung sagt alles:
Also die XML-Datei ist die interface-tag, aber PyGTK-Bibliothek erwartet glade-interface-tag.
Da ich am Ende immer Probleme mit diesem, hier ist ein Python-2.7-code, dass ich für den ein oder anderen:
für
Libglade
:Für
GtkBuilder
:In der Waldwiese, Sie können fügen Sie einfach ein Fenster, nennen es
MainWindow
, und speichern Sie zwei Versionen mit den jeweiligen Dateinamen wie oben für jedes format; und diese Fragmente sollten mit Ihnen arbeiten respeactively.Hoffe, dies hilft jemand,
Prost!
Dieser funktioniert perfekt.
Wenn Sie mit GTK+3 in python, siehe generator.