了解 Tkinter 的 Entry 小部件中的插入方法

Mic*_*dal 5 python user-interface tkinter

我一直在学习有关 Python 的 Tkinter 的教程,目前正在使用 Entry 小部件,刚刚遇到了插入方法。我了解该方法的作用(使默认字符串出现在文本输入字段中),但我没有得到该方法的第一个参数,据我所知,该参数是字符串应开始的索引。现在混乱来了。当使用它时,为索引参数提供不同的值,每次运行它时,文本都会出现在同一个位置(在最开始的地方)。据我所知,我要么做错了什么,要么误解了文档。这是我的代码的一个片段:

 e1 = Entry(master)
 e1.insert(0,"First Name")
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,无论索引是 0、10 还是 100,文本“名字”总是出现在文本字段的开头

Bry*_*ley 5

首先,“使​​默认字符串出现”这一说法并不完全正确。虽然它可用于插入默认文本,但更正确的说法是简单地描述为插入文本、句点。它可以是默认文本、替换文本、附加文本,无论您想要什么。

第一个字符之前的任何索引都被视为 0(零)。最后一个字符之后的任何索引都被视为结束。当您将某些内容插入到空的条目小部件中时,每个索引都将被视为 0。因此,索引对于将文本插入现有文本中的某处非常有用。

例如:

e1 = Entry(master)
e1.insert(0, "hello")
e1.insert("end", "world")
e1.insert(5, ", ")
Run Code Online (Sandbox Code Playgroud)

作为应用程序程序员,您几乎不会将该insert方法与索引 0(零)或“结束”以及“插入”以外的任何内容一起使用。然而,当您尝试添加高级功能(例如:拼写检查、自动完成等)时,您会发现索引非常有用。