Fixed-width Frame mit zentriertem Unterframe

Fragen zu Tkinter.
Antworten
Gerenuk
User
Beiträge: 69
Registriert: Donnerstag 21. Januar 2010, 22:27

Ich möchte ein Frame machen in dessen Zentrum ein anderes Frame sich austoben soll. Das äußere Frame soll in der Größe fest sein, dass innere aber variabel (es kann auch selbst viele Unterframes haben).

Das sieht dann etwa so aus:

Code: Alles auswählen

from Tkinter import *

class Application(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master, width=200, height=100)
        self.pack_propagate(False)
        self.pack()
        Label(self, text="Hallo", bg="white").pack()
 
app = Application()
app.mainloop()
Nur schaffe ich es nicht, dass innere Label auf das genaue Zentrum horizontal und vertikal zu bringen. Weiß jemand eine Lösung?
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo Gerenuk

Hier eine Lösung:

Code: Alles auswählen

import Tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master, bg='yellow', width=200, height=100)
        self.pack_propagate(False)
        self.pack()
        tk.Label(self, text="Hallo", bg="white").pack(expand='yes')
 
app = Application()
app.mainloop()
Gruss wuf :wink:
Take it easy Mates!
Gerenuk
User
Beiträge: 69
Registriert: Donnerstag 21. Januar 2010, 22:27

Hey!
Danke für die Korrekturen ;)
Ich hatte versucht überall "anchor" einzufügen und hatte "expand" übersehen, weil ich dachte es macht das Label groß.
Antworten