Wo ist das Frame hin?

Fragen zu Tkinter.
Antworten
Stay

Hallo,

bin gerade dabei Python zu erlernen und probiere ein wenig rum.
Im moment versuche ich gerade eine einfache Oberfläche zu entwerfen, nichts sinniges, einfach nur um die Auswirkung der einzelnen Befehle kennenzulernen.
Ich habe meine Oberfläche in mit Hilfe von grid() in 3 Teile aufgeteilt (2 Zeilen wobei die obere noch in 2 Spalten aufgeteilt ist). Sie heißen fr0, fr1 und fr2. Jetzt will ich in fr0 Labels einsetzen, aber immer wenn ich ein beliebiges GUI-Element einfügen will, verschwindet das Frame, auf das ich das GUI-Element setzen möchte.
Woran liegt das? Gibt es da vielleicht so etwas wie Ebenen, so dass das Frame quasi im Hintergrund verschwindet? Glaube ich eigentlich eher nicht. Ich glaube eher an einen kleinen Programmierfehler meinerseits. :oops:
Ich poste mal den Code mit, mit dem ich es als letztes versucht habe.

Code: Alles auswählen

from Tkinter import *

hf=Tk()

# Frames

fr0=Frame(hf, width=170, height=200, relief="sunken", bd=1)
fr0.grid(row=0, column=0)

fr1=Frame(hf, width=230, height=200, relief="sunken", bd=1)
fr1.grid(row=0, column=1)

fr2=Frame(hf, width=400, height=250, relief="sunken", bd=1)
fr2.grid(row=1, column=0, columnspan=2)

#**********************************************************

# Labels in fr0 (linkes oberes Frame)

vorname= Label(fr0, text="Vorname")
vorname.pack( anchor= "nw")

nachname= Label(fr0, text="Nachname")
nachname.pack()

#**********************************************************

hf.mainloop()
Fur eure Hilfe bin euch sehr dankbar.
Gruß,
Stay
Stay

Ups, Sorry! Das soll natürlich keine Fehlermeldung sein, sondern mein Code und gehört eigentlich in Python-Tags. Sorry
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Das Frame ist noch da, es kollabiert nur :wink:
Gib mal dem Frame eine Hintergrundfarbe und mach den Border breiter, dann siehst Du wo es geblieben ist.

Code: Alles auswählen

fr0=Frame(hf, width=170, height=200, relief="sunken", bd=5, bg="red")
Gruß, mawe
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Stay hat geschrieben:Ups, Sorry! Das soll natürlich keine Fehlermeldung sein, sondern mein Code und gehört eigentlich in Python-Tags. Sorry
Hi. Das ist nicht so schlimm, so ist nur das Syntaxhighlighting nicht vorhanden (bis ich es editiert ahbe :wink:), schlimmer wäre es keine der Tags zu benutzen, da in HTML ohne entsprechdene Behandlung Leerzeichen und somit die Einrückung nicht mehr leserlich sind. Es würde also kein gülziger Pythoncode mehr angezeigt werden. Ja... deine Frage wurde ja nun schon beantwortet :wink:

mfg Milan.
Stay

Hallo,
sorry, dass ich mich jetzt erst wieder melde, bin kurzfristig 2 Tage weggefahren :D
Ich wollte mich trotzdem noch für die Antwort bedanken. Mit ner Hintergrundfarbe hatte ich es nicht versucht. Ich hatte ja schon relief="sunken" und bd=1 angegeben und dachte, dass dieser Rand trotzdem noch sichtbar sein müsste, wenn ich ein kleineres Frame drüberlege. :o
Also, danke nochmal für die Antwort.
Gruß,
Stay
Antworten