如何在Tkinter中更新此文本框的文本?

时间:2014-12-16 10:26:59

标签: python python-3.x tkinter stopwatch

所以我用tkinter在python中制作一个秒表,我有更新时间工作的循环,但是我有它所以循环清除文本框,然后用新号码更新文本框。

虽然它不起作用,但由于某些原因它只是没有清除它,它只是不断添加数字框。

以下是我使用的代码,如果有人能够为我看看这个,我会很多地看到它:)

import time
from tkinter import *
root = Tk()
root.title("StopWatch")

#textbox for the screen
screen = Text(root, height = 1, width = 20, bd=10)
screen.grid(row=0, column=0)

#Active variable
global stopwatch_active
stopwatch_active = False
stop_time = 0
stop_minutes = 0


#command for starting the stopwatch
def start_com():
    stop_btn.config(state=NORMAL)
    stopwatch_active = True
    start_btn.config(state=DISABLED)
    global stop_time
    stop_time += 1
    screen.insert(END, stop_time)
    root.after(1000, start_com)




#button for starting the stopwatch
start_btn = Button(root, text = "Start", width = 10, bd = 5, command = start_com)
start_btn.grid(row=1, column=0, sticky=W)

#button for stopping the stopwatch
stop_btn = Button(root, text = "Stop", width = 10, bd = 5)
stop_btn.grid(row=1, column=0, sticky=E)
stop_btn.config(state=DISABLED)

1 个答案:

答案 0 :(得分:4)

添加:

screen.delete("1.0", END)

在你做之前:

screen.insert(END, stop_time)

这将清除文本框中的所有文本。如果您感兴趣,Effbot会提供更多信息。这将产生类似于:

的东西

enter image description here