Zugriff auf visuelle Objekte (tkinter)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mintpc
User
Beiträge: 50
Registriert: Montag 23. Januar 2012, 12:44

Hallo zusammen,

ich habe ein Textfeld, in das etwas geschrieben wird:

Code: Alles auswählen

Fenster = tkinter.Tk()
t = tkinter.Text(Fenster, width= 50, height = 50)
t.pack()

def ausgabe(): 
  for i in range(1,40):
    t.insert("end","\n")  
    for j in range(1,40): 
        if a[i][j] == True:
            t.insert("end", 'x')
        else:
            t.insert("end", ' ')

ausgabe()

Fenster.mainloop()
Allerdings würde ich gerne die GUI ans Ende setzen und
die Funktion zum Ausgeben davor, also etwa so:

Code: Alles auswählen

def ausgabe(): 
  for i in range(1,40):
    t.insert("end","\n")  
    for j in range(1,40): 
        if a[i][j] == True:
            t.insert("end", 'x')
        else:
            t.insert("end", ' ')

ausgabe()

Fenster = tkinter.Tk()
t = tkinter.Text(Fenster, width= 50, height = 50)
t.pack()
Fenster.mainloop()

Natürlich klappt das nicht, da die Funktion ausgabe() das Textfeld nicht
kennt.

Nun die Frage: Gibt es einen Weg, von der Funktion aus auf das Textfeld zuzugreifen?
Zuletzt geändert von Anonymous am Dienstag 11. September 2012, 06:31, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Indem du das Textfeld an die Funktion uebergibst und es nicht ueber die globale Variable benutzt.

Die Funktion kannst du im Uebrigen aber momentan trotzdem am Anfang definieren, nur das Aufrufen muss bis zur Definition von `t` warten.
Antworten