Seite 1 von 1

Zugriff auf visuelle Objekte (tkinter)

Verfasst: Montag 10. September 2012, 22:05
von mintpc
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?

Re: Zugriff auf visuelle Objekte (tkinter)

Verfasst: Montag 10. September 2012, 22:23
von cofi
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.