Ausgabe in Text-Widget

Fragen zu Tkinter.
Antworten
z1936z
User
Beiträge: 11
Registriert: Freitag 21. April 2006, 14:53

Ich will in meinem Programm im Texteditor Zeile für Zeile Text ausgeben, damit der Benutzer sieht, dass das Programm läuft.

Das Beispiel dafür währe:

Code: Alles auswählen

from Tkinter import *
class MainWindow:
    def __init__ (self):
        self.fenster = Tk()
        self.fenster.columnconfigure(0, weight=1) 
        self.fenster.rowconfigure(0, weight=1) 
        self.text = Text(self.fenster, width=40, height=40) 
        self.text.grid(row=0, column=0, sticky="nesw") 
        self.verticalScroller = Scrollbar(self.fenster, orient="vertical") 
        self.verticalScroller.grid(row=0, column=1, sticky="ns") 
        self.text['yscrollcommand'] = self.verticalScroller.set 
        self.verticalScroller['command'] = self.text.yview
        self.bt_sys = Button(self.fenster, text="Zahlen", command=self.zahlen).grid()
        self.fenster.mainloop()

    def zahlen(self):
        for j in range(1,300):
            self.text.insert(INSERT , str(j) + '\n')
            print j
mw = MainWindow() 

Aber so funktioniert nicht! Die for-Schleife läuft bis Ende und nur dann wird der Text ausgegeben. Mein Wunsch ist die Ausgabe, wie in der Zeile 19.

Könnte mir jemand helfen?
Danke im Voraus!
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Hallo,

ich habe zwar nicht so ganz verstanden, was du machen möchtest, aber um den Text zeilenweise auszugeben, kannst du das auch so machen:

Code: Alles auswählen

def zahlen(self): 
        text = self.text.get(1.0,END).split('\n')
        z = 1
        for i in text:
            print z,i
            z += 1
            time.sleep(1)
Stephan
Redprince
User
Beiträge: 128
Registriert: Freitag 22. Oktober 2004, 09:22
Wohnort: Salzgitter
Kontaktdaten:

Moinsen...
Versuch es mal mit einem self.fenster.update() nach dem self.text.insert().
Zuletzt geändert von Redprince am Dienstag 2. Mai 2006, 20:14, insgesamt 1-mal geändert.
z1936z
User
Beiträge: 11
Registriert: Freitag 21. April 2006, 14:53

Danke für eure Hilfe, mit update() funktioniert hervorragend.

Gruß!!!
Antworten