TK und Module?
Verfasst: Donnerstag 9. April 2009, 15:02
Hallo zusammen, ich mache gerade meine ersten Versuche mit Tkinter und habe da jetzt ein Problem wo ich einfach nicht weiterkomme:
Ich habe eine Hauptdatei, wo der ganze Programmablauf aufgeführt ist, und dann noch eine weitere Datei in der die ganzen Funktion als Module gesammelt sind, die von der Hauptdatei Importiert wird. Meine Frage ist nun, wenn ich z.B. einen Button habe der eine Funktion startet, wie hier im Beispiel der Button...
Also der >Button startet die Funktion load(), zum öffnen einer Datei, vorher soll aber noch das Textfeld (das im Hauptprogramm gestartet worden ist) bereinigt werden, um dann den neuen Text einzulesen. Aber wenn ich das so mache bekomme ich immer die Meldung...
Wie kann ich der Funktion denn nun sagen, dass >text< ja schon im Hauptprogramm
läuft?? Oder mache ich jetzt einen Fehler??
Ich habe eine Hauptdatei, wo der ganze Programmablauf aufgeführt ist, und dann noch eine weitere Datei in der die ganzen Funktion als Module gesammelt sind, die von der Hauptdatei Importiert wird. Meine Frage ist nun, wenn ich z.B. einen Button habe der eine Funktion startet, wie hier im Beispiel der Button...
Code: Alles auswählen
Hauptdatei: tk_krypto.py
from Tkinter import *
import tk_krypto_modul, ...
...
label = Label (top, text = '')
text = Text(top, wrap=WORD, yscrollcommand=scrollbar.set)
text.pack()
scrollbar.config(command=text.yview)
button = Button(top, text = 'Text einlesen...', command = tk_krypto_modul.load)
...
Datei: tk_krypto_modul.py
...
def load():
text.delete(1.0, END)
file= tkFileDialog.askopenfilename(initialdir = '/home')
lesen = krypto_modul.datei_open(file)
text.insert(END, lesen)
button1.config(top, state=NORMAL)
...
Code: Alles auswählen
File "/home/search/python_prog/krypto_v11-v1.9/tk_krypto_modul.py", line 7, in load
text.delete(1.0, END)
NameError: global name 'text' is not defined
läuft?? Oder mache ich jetzt einen Fehler??