Gutes aktuelles PyGTK + Glade(3) Tutorial ?

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
tuxfreak
User
Beiträge: 9
Registriert: Donnerstag 28. August 2008, 21:48

Gutes aktuelles PyGTK + Glade(3) Tutorial ?

Beitragvon tuxfreak » Freitag 5. September 2008, 22:41

Hallo,
Ich habe versucht nach >diesem< Tutorial eine Anwendung in Python zu schreiben mit der man eine Liste verwalten kann. Ich habe es mehrmals versucht und auch wenn ich nur das (selbstgebaute) *.glade-file und den heruntergeladenen Code ausführe funktioniert es nicht (Es wird nichts der Liste hinzugefügt). Auch habe ich sonst mit diesem Tutorial und Glade 3 nur schlechte Erfahrungen gemacht so das es mmn keinen Sinn mehr macht das noch weiter zu machen.

(1)Kann mir denn jemand ein gutes Tutorial zu PyGTK + Glade 3 empfehlen ?
(2)Oder ist Glade einfach schlecht dokumentiert ?
(3)Ich interessiere mich hauptsächlich für pyGTK weil es sich gut in GNOME integriert, ist das bei anderen Toolkits gleich gut oder besser ?
(4)Gibt es etwas besser dokumentiertes ?

So viele fragen hoffentlich hat jemand hier antworten darauf :-)
mfg Daniel
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Gutes aktuelles PyGTK + Glade(3) Tutorial ?

Beitragvon Leonidas » Freitag 5. September 2008, 23:30

tuxfreak hat geschrieben:(1)Kann mir denn jemand ein gutes Tutorial zu PyGTK + Glade 3 empfehlen ?

Kennst du schon diese Seite? Eigentlich verstehe ich nicht wozu man bei Glade 3 Tutorials braucht. Man klickt sich die GUIs zusammen und nutzt dann PyGTK um die XML-Datei zu laden.

tuxfreak hat geschrieben:(3)Ich interessiere mich hauptsächlich für pyGTK weil es sich gut in GNOME integriert, ist das bei anderen Toolkits gleich gut oder besser ?

Nein.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
tuxfreak
User
Beiträge: 9
Registriert: Donnerstag 28. August 2008, 21:48

Beitragvon tuxfreak » Samstag 6. September 2008, 19:57

Eigentlich brauch ich glaub ich nur den Ansatz wie man einen Text zum Beispiel einem Label zuweißt und was auch noch nett wäre wäre zu verstehen was "self.wTree" macht. Aber diese Fragen kann man mir hier vielleicht auch beantworten den Rest finde ich dann schon im Netz hoffe ich.
mfg Daniel
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 6. September 2008, 20:10

tuxfreak hat geschrieben:Eigentlich brauch ich glaub ich nur den Ansatz wie man einen Text zum Beispiel einem Label zuweißt und was auch noch nett wäre wäre zu verstehen was "self.wTree" macht. Aber diese Fragen kann man mir hier vielleicht auch beantworten den Rest finde ich dann schon im Netz hoffe ich.

Text zuweisen: Auf Label klicken, dann im General-Tab unter Label den gewünschten Text eingeben. Trivial?!

``self.wTree``: einfach nur ein Objekt, über das man auf die Glade-Datei zugreift. Das Programm kann ja schlecht raten, wie du dir die GUI vorstellst.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
tuxfreak
User
Beiträge: 9
Registriert: Donnerstag 28. August 2008, 21:48

Beitragvon tuxfreak » Samstag 6. September 2008, 23:14

Text zuweisen: Auf Label klicken, dann im General-Tab unter Label den gewünschten Text eingeben. Trivial?!


Ne so hatte ich das auch schon geschafft. Ich meine während des Programmablaufes label zu verändern um eine Ausgabe zu bekommen. Oder geht das mit labels garnicht ? Wenn es nicht geht dann halt wie man einem textview oder treeview was ausgibt. Es geht mir nur darum Werte ausgeben zu können.
Danke für die schnelle Hilfe
mfg Daniel
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Beitragvon Trundle » Sonntag 7. September 2008, 00:32

``label.get_label()`` oder ``label.set_label('Spam')``. Ein Blick in die PyGtk-Referenz ist oft hilfreich.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Beitragvon Dauerbaustelle » Dienstag 9. September 2008, 14:55

Code: Alles auswählen

import pygtk
import gtk, gtk.glade

wTree = gtk.glade.XML("/pfad/zur/glade/datei.glade")

gbutton = wTree.get_widget("button1")
# gibt den gtk.Button() mit dem Namen "button1" aus dem Glade als Objekt.
# Das Selbe in Pure-Python:
pbutton = gtk.Button("DeinText")

# Ein Label setzen
# Mit glade:
wTree.get_widget("button1").set_label("Blubb")

# Pure:
pbutton.set_label("Bla")



Vllt raffst dus ja ;)
JumpLink
User
Beiträge: 9
Registriert: Montag 17. März 2008, 13:57

Beitragvon JumpLink » Mittwoch 24. September 2008, 23:05

Hallo, ich persönlich finde dieses Tutorial für den Einstieg sehr gut, danach kann man sehr gut selbst voran kommen, da man dann einen guten Überblick über das ganze bekommen hat: http://www.micahcarrick.com/12-24-2007/gtk-glade-tutorial-part-1.html
Lieben Gruß, JumpLink
Tiefflieger
User
Beiträge: 11
Registriert: Freitag 28. November 2008, 18:47

Beitragvon Tiefflieger » Donnerstag 4. Dezember 2008, 00:18

Ich weiß, der Thread ist schon etwas älter, aber ich bin hierüber gestolpert und fand es immer noch etwas hakelig.
Da ich neu bei Python bin, konnte ich nicht "einfach die Subraumenergie in die Konvertoren der Warpkernkondensatoren umleiten"
Deswegen möchte ich hier für andere noch meine so einfach wie möglich gehaltene Version eines Glade + Python Programms vorstellen:
  1. In Glade 3:
    1. Gewünschtes Fenster zusammenklicken
    2. Fenster den Namen "MainWindow" geben
    3. Fenster-Eigenschaft "sichtbar" auf "ja" einstellen (Default ist "nein"!)
    4. Datei unter ./gui/MainWindow.glade speichern
  2. Folgenden Code in der Datei "./MainWindow.py" speichern:

    Code: Alles auswählen

    # coding=utf-8

    import gtk, gtk.glade

    class MainWindow:     
        def __init__(self):
            #Set the Glade file
            self.gladefile = "gui/MainWindow.glade"       
            self.windowTree = gtk.glade.XML(self.gladefile)
           
            #Get the Main Window, and connect the "destroy" event
            self.window = self.windowTree.get_widget("MainWindow")
            if (self.window):
                self.window.connect("destroy", gtk.main_quit)
            else:
                print "MainWindow heißt anders! Das Skript wird nicht beendet werden, wenn das Fenster geschlossen wird."

    if __name__ == "__main__":
        editor = MainWindow()
        gtk.main()
  3. Programm laufen lassen & anfangen, selber herumzuexperimentieren ;-)


Natürlich kann man zB. viele Dinge anders benennen etc, aber vielleicht hilfts ja jemandem bei den ersten Schritten :-)
wiruz
User
Beiträge: 2
Registriert: Dienstag 16. Dezember 2008, 22:09

Beitragvon wiruz » Mittwoch 17. Dezember 2008, 19:03

@tiefflieger:
Könntest du ein aktuelles Tutorial vllt. empfehlen?
Tiefflieger
User
Beiträge: 11
Registriert: Freitag 28. November 2008, 18:47

Beitragvon Tiefflieger » Mittwoch 17. Dezember 2008, 20:42

Hi wiruz,

mein Vorschlag oben ist aktuell, oder wonach genau suchst du?

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder