Python sleep() im tkinter-Fenster

OP (Firma: Privat) #7484125
Lesenswert?

sleep() im tkinter-Fenster Ich hätte gerne das in "Test_2.py" im Prinzip das gleiche passiert wie in "Test_1.py". Eine Sekunde Pause zwischen jeder Textzeile und Scrolling wenn das Fenster voll ist. Also das der Text oben verschwindet wenn unten neuer Text dazu kommt. Im tkinter-Fenster geht es nicht weiter wenn das Fenster voll ist.

Angehängte Dateien:
Moderator #7484214
Lesenswert?

Du rufst ja alle zettel.insert schon vor der mainloop auf. Kannst du da überhaupt das sekündliche Fortschreiten der Ausgabe mitverfolgen?

Zur Frage mit dem Scrollen: Du kannst den Text nach jeder Ausgabezeile mit zettel.see("end") automatisch ans Ende scrollen lassen. Wenn du tkinter.scrolledtext.ScrolledText anstelle von tkinter.Text verwendest, erscheint ein Scrollbar neben dem Textfeld.

OP (Firma: Privat) #7484548
Lesenswert?

Alleine mit:

mit "zettel.see("end")" automatisch ans Ende scrollen lassen. ohne "tkinter.scrolledtext.ScrolledText" hat funktioniert. Vielen Dank. Mit "tkinter.scrolledtext.ScrolledText" kommt eine Fehlermeldung: "module 'tkinter' has no attribute 'scrolledtext'"

Du rufst ja alle zettel.insert schon vor der mainloop auf. Kannst du da überhaupt das sekündliche Fortschreiten der Ausgabe mitverfolgen?

Also wenn ich das richtig verstanden habe kann man doch außerhalb der mainloop überhaupt nichts programmieren, weil daß ja nie erreicht wird. Es muß sich doch alles was man jetzt sonst noch dazu programmiert, innerhalb der mainloop befinden. Richtig? Die Idee mit sleep() war ja, ich wollte das Programm verlangsamen, um zu beobachten was da passiert. Wenn das nun nicht geht ist jetzt auch egal.

Angehängte Dateien:
Moderator #7484568
Lesenswert?

Günter L. schrieb:

Mit "tkinter.scrolledtext.ScrolledText" kommt eine Fehlermeldung: "module 'tkinter' has no attribute 'scrolledtext'"

Du brauchst dann noch ein

1
import tkinter.scrolledtext

Günter L. schrieb:

Die Idee mit sleep() war ja, ich wollte das Programm verlangsamen, um zu beobachten was da passiert. Wenn das nun nicht geht ist jetzt auch egal.

Es geht schon, nur muss man die Sache dann etwas anders aufziehen (s. Anhang). Das erste Mal wird add_text schon vor der mainloop aufgerufen. Damit ist das Textfeld schon einmal mit der ersten Zeile befüllt. Danach wird – während die mainloop schon läuft und das Fenster offen ist – add_text jeweils verzögert um 1 Sekunde 28 weitere Male aufgerufen,

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren