Problem mit meiner Y Achse

Fragen zu Tkinter.
Antworten
Benutzeravatar
Windtommyhoff
User
Beiträge: 32
Registriert: Donnerstag 15. März 2007, 13:01
Kontaktdaten:

Guten Morgen.

Ich wünsche ein schönes Wochenende gehabt zu haben!

Ich habe anscheinend ein Softwareproblem mit Python selbst.

Wenn ich z.B.

Code: Alles auswählen

bla.pack(fill=BOTH)
schreibe, dann fillt der wohl in der X Richtung, also bleibt bla immer so breit wie das Fenster.

Allerdings, wenn man das Fenster nach unten, also länger zieht, dann passiert nicht mit bla. Es bleibt in seiner Ursprungsgröße und passt sich nicht der Länge an.


Kann mir da irgendjemand was zu sagen? Ich benutze WinXP und Python2.5. Hab Python auch schon neu installiert...

Ich weiß nicht woran es liegt, hoffentlich kann mir jemand von euch helfen.

MfG

Windtommyhoff

PS: Es gibt keine Fehlermeldung oder sonst was. Es funktioniert einfach nicht!
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

hi,

Code: Alles auswählen

bla.pack(fill=BOTH, expand=YES) #
Benutzeravatar
Windtommyhoff
User
Beiträge: 32
Registriert: Donnerstag 15. März 2007, 13:01
Kontaktdaten:

Sauber, besten dank. Jetzt klappt es natürlich wieder einwandfrei!

Danke für die schnelle Hilfe!
Benutzeravatar
Windtommyhoff
User
Beiträge: 32
Registriert: Donnerstag 15. März 2007, 13:01
Kontaktdaten:

Kommando zurück!!!

Jetzt versuch ichs grad in grid und es funktioniert gar nicht. Irgendwas ist doch verkehrt hier!

Ich will in meinem Programm den Bildschirm in 4 Quadranten aufteilen, die schön Gleichmäßig groß sind. Also alle gleich groß!

Ich benutze eigentlich am liebsten grid, weil sich damit in meinen Augen die Oberfläche am schönsten aufbauen lässt!

jetzt hab ich 4 LabelFrames gemacht und die aufgeteilt in

Code: Alles auswählen

(row=0, column=0)
bis

Code: Alles auswählen

(row=1, column=1)
. Allerdings sind die Rahmen immer nur so groß, wie das was drin ist und zwischen den einzelnen Frames ist es so häßlich grau.

Sticky hab ich versuch, fruchtet aber nicht.

Code: Alles auswählen

self.rootcheck.grid(row=0, column=0, sticky=tk.W+tk.E+tk.N+tk.S)
Kann mir hier jemand weiter helfen, warum das bei pack funtioniert und bei grid nicht?

Danke schonmal!
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

hi,
lade dir doch den GUI-Builder für Tk runter! Damit kannst Du tolle sachen machen.
link: http://sourceforge.net/project/showfile ... p_id=24918

Code: Alles auswählen

import Tkinter as tk
class tkLabels(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        self.LF1 = tk.LabelFrame(self, bg='red', text='LF1')
        self.LF1.grid(column=1, row=1, padx=3, pady=3, sticky='nsew')
        
        self.LF2 = tk.LabelFrame(self, bg='#ab2253', text='LF2')
        self.LF2.grid(column=2, row=1, sticky='nsew', padx=3, pady=3)
        
        self.LF3 = tk.LabelFrame(self, bg='#ba2597', text='LF3')
        self.LF3.grid(column=1, row=2, sticky='nsew', padx=3, pady=3)
        
        self.LF4 = tk.LabelFrame(self, bg='#22af89', text='LF4')
        self.LF4.grid(column=2, row=2, padx=3, pady=3, sticky='nsew')
        
        
        self.rowconfigure(1, weight=1)
        self.rowconfigure(2, weight=1)
        
        self.columnconfigure(1, weight=1)
        self.columnconfigure(2, weight=1)
        
def _main():
    root = tk.Tk()
    root.geometry('600x400')
    app = tkLabels( root )
    app.pack(expand=tk.YES, fill=tk.BOTH)
    root.mainloop()
if __name__=='__main__':
    _main()
Benutzeravatar
Windtommyhoff
User
Beiträge: 32
Registriert: Donnerstag 15. März 2007, 13:01
Kontaktdaten:

Alles klar, vielen Dank!
Antworten