Toplevel-, Entry- und Variablenspeicherung; Problem
Verfasst: Mittwoch 7. Januar 2015, 16:41
Hallo,
ich versuche seit einer Weile aus meinen Zweitfenster das ich via Toplevel auf Tastendruck öffne einen Wert aus dem Entry-Widget mit in mein Hauptfenster zu übertragen. Nur egal wie ich es versuche, es läuft immer auf die selbe Fehlermeldung hinnaus:
Mein Fehler muss circa der sein, dass ich über ene Definition eine weitere Definition aufrufe. Und das geht wahrscheinlich nicht, weil dazu die Variable txttast vorher schon bekannt sein muss.
Weis jemand wie ich das Problem umgehen kann?
Das Problem fängt mit dieser Zeile an:
Ich habe auch versucht das mit Klassen zu lösen. Was auch wunderbar funktioniert hat, aber halt nur bis zu diesem Punkt wieder^^
Danke schonmal
ich versuche seit einer Weile aus meinen Zweitfenster das ich via Toplevel auf Tastendruck öffne einen Wert aus dem Entry-Widget mit in mein Hauptfenster zu übertragen. Nur egal wie ich es versuche, es läuft immer auf die selbe Fehlermeldung hinnaus:
Code: Alles auswählen
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.4/tkinter/__init__.py", line 1490, in __call__
return self.func(*args)
File "/home/marillus/PythonProgramme/BorriesProjekt/Marillus.py", line 23, in store
txtfeld["text"] = txttast.get()
NameError: name 'txttast' is not defined
Weis jemand wie ich das Problem umgehen kann?
Code: Alles auswählen
import tkinter
#--------------------Definitionen-----------------------------------
def ende():
main.destroy()
def tastedit(e):
# Neues Fenster
global neu
neu = tkinter.Toplevel(main)
neu.geometry("1024x600")
# Textfeld
txttast = tkinter.Entry(neu)
txttast.pack()
#Button zum Schließen
bneu = tkinter.Button(neu, text="Schließen", command = endeneu)
bneu.pack()
# Button zum seperatem speichern
bstore = tkinter.Button(neu, text = "Speichern", command = store)
bstore.pack()
def store():
txtfeld["text"] = txttast.get()
def endeneu():
neu.destroy()
#------------------------Ende Definiitionen------------------------
# Vollbild und Desktopfunktionen
main = tkinter.Tk()
main.geometry("1024x600")
#main.attributes('-fullscreen', True)
# Escape Button
besc = tkinter.Button(main, text = "Exit", command = ende)
besc.place(x=10,y=10)
# Textfeld
txtfeld = tkinter.Label(main, width = 20, height = 1)
txtfeld["font"] = "Sans 16 bold"
txtfeld["bg"] = "#FFFFFF"
txtfeld.place(x=630, y=545)
# Linksklickfunktion
txtfeld.bind("<Button 1>", tastedit) # Funktion Linksklick im Textfeld aufrufen
# Endlosschleife Hauptfenster
main.mainloop()
Code: Alles auswählen
def store():
txtfeld["text"] = txttast.get()
Danke schonmal