Dynamisches ändern des Hauptfensters
Verfasst: Mittwoch 6. Juli 2005, 14:56
Hallo Leute
ich hab jetzt ein bisschen mit Tkinter rumgespielt, aber nirgends einen Hinweis gefunden, wie fogendes zu bewerkstelligen ist:
Für mein Programm möchte ich ein Fenster erstellen, dass zuerst einen Text anzeigt, dann auf Knopfdruck (Weiter-Taste) die vorherigen Widegets löscht und durch eine Eingabemaske ersetzt. In diese Eingabemaske schreibt man was rein, dass dann auf aktivierung des Weiter-Knopfes etwas tut und das Resultat im gleichen Fenster anzeigt, vorher aber die Eingabemaske zu löschen. Praktisch wäre auch, wenn man zwischen diesen drei Zuständen mit Weiter und Zurück-Knöpfen hin und herschalten könnte.
Mein Code sieht so aus:
Ich habe versucht oben genanntes mit einer Quadrier-Funktion zu realisieren, aber dieser Code erzeugt dann einfach die neuen Widgets unterhalb der alten und das Quadrieren funktionert nicht, weil etwas mit get() nicht geht...
Ausserdem ist mir beim nachschauen aufgefallen, dass im Buch Python in a Nutshell anstatt fenster = Tk(), fenster = Tkinter.Tk() aufgerufen wird. Was ist das der Unterschied???
Vielen Dank für die Hilfe
ich hab jetzt ein bisschen mit Tkinter rumgespielt, aber nirgends einen Hinweis gefunden, wie fogendes zu bewerkstelligen ist:
Für mein Programm möchte ich ein Fenster erstellen, dass zuerst einen Text anzeigt, dann auf Knopfdruck (Weiter-Taste) die vorherigen Widegets löscht und durch eine Eingabemaske ersetzt. In diese Eingabemaske schreibt man was rein, dass dann auf aktivierung des Weiter-Knopfes etwas tut und das Resultat im gleichen Fenster anzeigt, vorher aber die Eingabemaske zu löschen. Praktisch wäre auch, wenn man zwischen diesen drei Zuständen mit Weiter und Zurück-Knöpfen hin und herschalten könnte.
Mein Code sieht so aus:
Code: Alles auswählen
import sys
from Tkinter import *
from heatcalc import heat1
def ende():
sys.exit(0)
def weiterzu2():
e = Entry(nf)
e.pack()
bquad = Button(nf, text = "Quadrieren", command = quad)
bquad.pack()
def weiterzu3():
lb = Label(hauptfenster, text = "Ergebnis:")
lb.pack()
def quad():
eingabe = e.get()
zahl = float(eingabe)
lb["text"] = "Ergebnis:" + str(zahl * zahl)
nf = Tk()
fr = Frame(nf, width=200, height=100, relief="sunken", bd=1)
fr.pack(side="top")
nachricht = Label(fr, text = "Whatever")
endebutton = Button(fr, text = "Ende", command = ende)
weiterbutton = Button(fr, text = "Weiter", command = weiterzu2)
nachricht.pack()
endebutton.pack()
weiterbutton.pack()
nf.mainloop()Ausserdem ist mir beim nachschauen aufgefallen, dass im Buch Python in a Nutshell anstatt fenster = Tk(), fenster = Tkinter.Tk() aufgerufen wird. Was ist das der Unterschied???
Vielen Dank für die Hilfe