2016-07-31 6 views
-1

Ich versuche, ein Programm zu erstellen, das in einer scrollbaren Textbox druckt. Das einzige Problem ist, dass ich eine Verzögerung zwischen den Charakteren möchte. Ich habe es mit der Druckmethode gesehen, aber wenn ich versuche, es durch ein Textfeld zu ersetzen und einzufügen, tut es nichts. Hier ist der Code, der die Druckmethode verwendet.Verzögerung zwischen dem Drucken von Zeichen in Tkinter

from time import sleep 
import sys 
output = 'Hi... I just wanted to know if you like steak?' 
for char in output: 
    sys.stdout.write ('%s' % char) 
    sleep (0.1) 

Antwort

0

Tkinter-Widgets haben eine Methode namens after, die Sie verwenden können, in Zukunft einen Befehl auszuführen. Sie können eine Funktion einrichten, die einen Buchstaben einfügt und sich nach einem Tag erneut aufruft.

Ich weiß nicht, was Sie mit einer "scrollbaren Textbox" meinen, da tkinter kein "Textbox" -Widget hat. Es gibt eine einzelne Zeile Entry Widget und eine Multilinie Widget, die beide scrollbar sind. Hier ist ein Beispiel mit dem Entry widget:

import Tkinter as tk 

def insert_slow(widget, string): 
    if len(string) > 0: 
     widget.insert("end", string[0]) 
     widget.xview("end") 

    if len(string) > 1: 
     widget.after(100, insert_slow, widget, string[1:]) 

root = tk.Tk() 
entry = tk.Entry() 
entry.pack() 

insert_slow(entry, "Hi... I just wanted to know if you like steak?") 

root.mainloop() 
+0

Leider von Textbox ich nur gemeint Text – PLP123

+0

Ich habe eine andere Frage Wie würde ich das Widget ändern und bearbeiten. Wie wenn ich die Montage von Linien ändern oder die Vordergrundfarbe ändern möchte. – PLP123

+0

Und auch, wie würde ich mehr Text auf einem neuen eins hinzufügen, wenn es versucht, würde die Linien zusammenführen. – PLP123

Verwandte Themen