Malte
19.04.2005, 19:30
Hallo
ich habe heute ein Script geschrieben, wo ich durch Veränderung des Textes eines Labels die Oberfläche verändern will. Leider funktioniert es nicht - der Teil, der als "Erstes Bild" gekennzeichnet ist, bleibt immer im Fenster, auch wenn sich der Wert ändert. Kann man das überhaupt oder muss ich alles irgendwie in einem neuen Fenster öffnen?
Es soll (wenn alles fertig ist) auf eine Textdatei zugegriffen werden können (anschauen, eintragen, editieren, löschen) ... na ja schaut erstmal
from Tkinter import *
hauptfenster = Tk()
#Hilfs-Label
bereich = Label(hauptfenster, text=0)
datei_l = Label(hauptfenster, text="")
#Erstes Bild
if bereich["text"] is 0:
def einlesen():
datei = e.get()
if datei == "":
L1["text"] = "Kein Pfad angegeben"
else:
datei_l["text"] = str(datei)
bereich["text"] = "4"
L1 = Label(hauptfenster, text="Dateinamen und -pfad eingeben")
L1.pack()
bereich.pack()
e = Entry(hauptfenster)
e.pack()
b = Button(hauptfenster,text="Einlesen",command=einlesen)
b.pack()
# Navigation
if bereich["text"] is not 0: # Soll immer angezeigt werden ausser beim Auswählen der Datei
def b_eins():
bereich["text"] = "1"
def b_zwei():
bereich["text"] = "2"
def b_drei():
bereich["text"] = "3"
def b_vier():
bereich["text"] = "4"
f1 = Frame(hauptfenster)
f1.pack
bereich_eins = Button(f1,text="Eintragen",command=b_eins)
bereich_eins["width"] = 3
bereich_eins["height"] = 1
bereich_eins.pack(side=LEFT)
bereich_zwei = Button(f1,text="Editieren",command=b_zwei)
bereich_zwei["width"] = 3
bereich_zwei["height"] = 1
bereich_zwei.pack(side=LEFT)
bereich_drei = Button(f1,text="Löschen",command=b_drei)
bereich_drei["width"] = 3
bereich_drei["height"] = 1
bereich_drei.pack(side=LEFT)
bereich_vier = Button(f1,text="Anzeigen",command=b_vier)
bereich_vier["width"] = 3
bereich_vier["height"] = 1
bereich_vier.pack(side=LEFT)
# Eintragen
if bereich["text"] is 1:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Eintragen")
L1b.pack()
# Editieren
if bereich["text"] is 2:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Editieren")
L1b.pack()
# Löschen
if bereich["text"] is 3:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Löschen")
L1b.pack()
# Anzeigen
if bereich["text"] is 4:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Anzeigen")
L1b.pack()
hauptfenster.mainloop()
ich habe heute ein Script geschrieben, wo ich durch Veränderung des Textes eines Labels die Oberfläche verändern will. Leider funktioniert es nicht - der Teil, der als "Erstes Bild" gekennzeichnet ist, bleibt immer im Fenster, auch wenn sich der Wert ändert. Kann man das überhaupt oder muss ich alles irgendwie in einem neuen Fenster öffnen?
Es soll (wenn alles fertig ist) auf eine Textdatei zugegriffen werden können (anschauen, eintragen, editieren, löschen) ... na ja schaut erstmal
from Tkinter import *
hauptfenster = Tk()
#Hilfs-Label
bereich = Label(hauptfenster, text=0)
datei_l = Label(hauptfenster, text="")
#Erstes Bild
if bereich["text"] is 0:
def einlesen():
datei = e.get()
if datei == "":
L1["text"] = "Kein Pfad angegeben"
else:
datei_l["text"] = str(datei)
bereich["text"] = "4"
L1 = Label(hauptfenster, text="Dateinamen und -pfad eingeben")
L1.pack()
bereich.pack()
e = Entry(hauptfenster)
e.pack()
b = Button(hauptfenster,text="Einlesen",command=einlesen)
b.pack()
# Navigation
if bereich["text"] is not 0: # Soll immer angezeigt werden ausser beim Auswählen der Datei
def b_eins():
bereich["text"] = "1"
def b_zwei():
bereich["text"] = "2"
def b_drei():
bereich["text"] = "3"
def b_vier():
bereich["text"] = "4"
f1 = Frame(hauptfenster)
f1.pack
bereich_eins = Button(f1,text="Eintragen",command=b_eins)
bereich_eins["width"] = 3
bereich_eins["height"] = 1
bereich_eins.pack(side=LEFT)
bereich_zwei = Button(f1,text="Editieren",command=b_zwei)
bereich_zwei["width"] = 3
bereich_zwei["height"] = 1
bereich_zwei.pack(side=LEFT)
bereich_drei = Button(f1,text="Löschen",command=b_drei)
bereich_drei["width"] = 3
bereich_drei["height"] = 1
bereich_drei.pack(side=LEFT)
bereich_vier = Button(f1,text="Anzeigen",command=b_vier)
bereich_vier["width"] = 3
bereich_vier["height"] = 1
bereich_vier.pack(side=LEFT)
# Eintragen
if bereich["text"] is 1:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Eintragen")
L1b.pack()
# Editieren
if bereich["text"] is 2:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Editieren")
L1b.pack()
# Löschen
if bereich["text"] is 3:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Löschen")
L1b.pack()
# Anzeigen
if bereich["text"] is 4:
f2 = Frame(hauptfenster)
f2.pack()
L1b = Label(f2, text="Anzeigen")
L1b.pack()
hauptfenster.mainloop()