Python Tkinter文本插入和删除功能

Python Tkinter文本插入和删除功能,python,tkinter,Python,Tkinter,我试图理解每件事物都有什么功能,它试图做什么 在该代码中,删除和插入做什么 我也不明白为什么我需要结束,但我知道这是来自Tkinter from tkinter import* from random import randint def roll(): text.delete(0.0, END) text.insert(END,str(randint(1,6))) window = Tk() text = Text(window,width=1, height = 1) bu

我试图理解每件事物都有什么功能,它试图做什么

在该代码中,
删除
插入
做什么

我也不明白为什么我需要结束,但我知道这是来自Tkinter

from tkinter import*
from random import randint

def roll():
    text.delete(0.0, END)
    text.insert(END,str(randint(1,6)))
window = Tk()
text = Text(window,width=1, height = 1)
buttonA = Button(window,text="Kast Terning!", command = roll)
text.pack()
buttonA.pack()
window.mainloop()

root = Tk()

root.mainloop()

代码打开一个小窗口,窗口中有一个小部件,它会生成一个介于1到6之间的随机数。

如果您阅读
delete
方法的文档,您会发现它需要开始索引和结束索引。这定义了要删除的文本的范围

因此,
text.delete(0.0,END)
将删除从文档开始到结尾的所有内容

顺便说一下,
0.0
不是有效的tkinter索引。这是可行的,但不正确。文本小部件索引是line.character格式的字符串,其中行从1开始,字符从零开始。因此,第一个字符的索引是字符串
“1.0”
,而不是浮点
0.0


至于insert,它需要一个单独的索引,用于插入文本的位置。因此,
text.insert(END,str(randint(1,6))
在文本小部件的末尾插入一个随机数。

您阅读过这些方法的文档了吗?这可能会回答你的大部分问题。@Carcigenicate它说roll()清除屏幕,然后生成一个数字。它只适用于tkinter,还是我也可以用于其他东西?这不是很明显吗
END
表示结束索引值,因此您告诉他们使用
delete(0,END)
从开始到结束进行删除,然后使用insert执行相同的操作,您要求他们使用
insert(END,'HelloWorld')
插入框内“whatever”的末尾,或者您也可以使用
'END'
而不是
END