Seite 1 von 1

Paned Window. Wie soll ich es vernünftig einsetzen?

Verfasst: Freitag 17. Juli 2009, 13:08
von erka
Ich habe gerade mein Abenteuer mit GUI Builder (ActivState) begonnen.
Wie kann ich vernünftig das PaneWindow benutzen.
Im Augenblick konnte ich kein Unteschied merken. Egall ob ich es zwischen den z.B. Listboxen plaziere oder nicht passiert nichts.
Eigentlich habe ich erwartet, dass ich die Listboxen mit dem PaneWindow "schieben" kann (eine Listbox wird z.B. breiter und die andere schmaller).
Gibt es vielleicht im Netz einen Tutorial mit diesem Thema?
MfG

Re: Paned Window. Wie soll ich es vernünftig einsetzen?

Verfasst: Freitag 17. Juli 2009, 13:19
von numerix
erka hat geschrieben:Gibt es vielleicht im Netz einen Tutorial mit diesem Thema?
http://effbot.org/tkinterbook/panedwindow.htm

Verfasst: Freitag 17. Juli 2009, 14:03
von yipyip
Frei nach dem Beispiel im Effbot und ganz ohne Gui-Builder:

Code: Alles auswählen

import Tkinter as tk

def make_listbox(parent, n=9):

  lb = tk.Listbox(parent)
  for i in xrange(n):
    lb.insert(tk.END, i)

  return lb


root = tk.Tk()
pane = tk.PanedWindow(root)
pane.pack(fill=tk.BOTH, expand=1)
pane.add(make_listbox(pane))

pane_right = tk.PanedWindow(pane, orient=tk.VERTICAL)
pane.add(pane_right)

for _ in xrange(3):
  pane_right.add(make_listbox(pane_right))

root.mainloop()
:wink:
yipyip

Verfasst: Freitag 17. Juli 2009, 15:09
von erka
Danke.
So funktioniert es tatsächlich, sehr gut.
Aber wieso kann ich den PanedWindow widget nicht so einfach im GUI Builder benutzen?
Ich habe meine kleine Applikation mittels diesen GUI Builder gemacht. Hat auch gut geklappt, bis ich die Idee hatte, meine Listboxen ein wenig flexibler zu gestallten. Das PanedWindow steht zwar zur Verfügung, aber...ich kann es nicht richtig einbinden. :cry:

Verfasst: Samstag 18. Juli 2009, 12:00
von yipyip
Mein Rat: Vergiss, dass es sowas wie Gui-Builder gibt. Gerade Tkinter flutscht doch wie nur was, da ist ein Gui-Builder nur hinderlich.

:wink:
yipyip

Verfasst: Samstag 18. Juli 2009, 12:31
von Leonidas
yipyip hat geschrieben:Mein Rat: Vergiss, dass es sowas wie Gui-Builder gibt.
Funktionierende GUI-Builder sind durchaus sinnvoll. Ich denke ein Großteil aller Qt-Apps nutzt Qt Designer. Der nötige GUI-Code ist auch nicht schwerer, aber lästig wenn man viele Sachen umherschieben will, daher nimmt man da gerne einen GUI-Builder.

Verfasst: Samstag 18. Juli 2009, 16:47
von yipyip
Also ich komme mit dem Gui-Builder Prinzip ueberhaupt nicht zurecht. Nach mehreren Anlaeufen habe ich es jetzt endlich geschafft, mit dem Qt-Designer ein Fenster mit einem Button zu erstellen, mit pyuic4 das entsprechende Python-Modul zu generieren und mit Hilfe der Anleitung aus http://www.rkblog.rk.edu.pl/w/p/simple- ... tor-pyqt4/ ein Programm zu erzeugen, das auf auf Button-Click eine print-Ausgabe liefert.

(Aber vielleicht bin ich einfach nur zu dumm fuer sowas...)
:wink:
yipyip

Verfasst: Samstag 18. Juli 2009, 20:56
von Leonidas
Also ich habe mit GLADE3 und ohne Generieren (das ist ja auch für Python eher wenig sinnvoll) eigentlich keine Probleme...

Verfasst: Sonntag 19. Juli 2009, 17:01
von yipyip
@Leonidas: Stimmt, man muss keinen Python Code generieren (bei PyQt4 reicht uic.LoadUi() ).
Wenn man von Tkinter verwoehnt ist ( :wink: ), ist das alles etwas gewoehnungsbeduerftig.

:wink:
yipyip

Verfasst: Montag 20. Juli 2009, 10:57
von erka
Leonidas hat geschrieben:Also ich habe mit GLADE3 und ohne Generieren (das ist ja auch für Python eher wenig sinnvoll) eigentlich keine Probleme...
Leider, stelle ich fest, dass ich nicht verstehe wovon Ihr spricht :oops: .
Ohne Generieren? Ich habe zwar mit GLADE noch nicht richtig gearbeitet (runtergeladen hab ich schon), aber ich dachte mir, dass die Generierung des Codes ist eigentlich das, was mann von diesen "Helfer" erwartet.
Aber wenn mann die Anzahl meiner Einträge im Forum sieht, dann ist klar mit wem mann zu tun hat :lol:
Wie Leonidas schrieb, für schnelle Korrekturen, Verschiebungen u.s.w ist der GUI Builder nicht schlecht.
Im Moment interesiert mich eigentlich, ob alle Optionen, die er hat richtig funktionieren, besonders PanedWindow. Ob der Code optimal ist für mich noch zweitrangig.

Verfasst: Montag 20. Juli 2009, 14:17
von Leonidas
erka hat geschrieben:aber ich dachte mir, dass die Generierung des Codes ist eigentlich das, was mann von diesen "Helfer" erwartet.
Nein, sowohl GLADE (GTK+) als auch Qt Designer (Qt) als auch XRCed (wxWidgets) speichern die designten Oberflaechen in XML-Dateien die man sowohl im GUI-Builder direkt editieren kann als auch direkt in Python-Code verwenden kann, ueber die entsprechenden Hilfsfunktionen des Toolkits. Viel praktischer und direkter als das Generieren von (suboptimalen) Code.