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