我应该在 Python 中为 Tkinter 使用 Entry 的 .get() 或其文本变量吗?

lll*_*kke 4 python tkinter

代码是这样的:

myVar = StringVar()
myEntry = Entry(master, textvariable=myVar)
Run Code Online (Sandbox Code Playgroud)

因此,当我需要从 检索输入时myEntry,我应该使用

myText = myVar.get()
Run Code Online (Sandbox Code Playgroud)

或者

myText = myEntry.get()
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法 ?(为什么?)

Bry*_*ley 5

除非您在 StringVars 上进行跟踪,否则我建议坚持使用该get方法并且不要创建 StringVars。使用该get方法消除了复杂性——减少了一个需要维护的对象,并且减少了一个占用内存空间的对象(乘以您在应用程序中使用 StringVars 的次数)。

当然,这是难以察觉的开销,但在所有条件相同的情况下,不太复杂的解决方案通常是最好的。为什么要添加一个变量来让您可以执行无需该变量即可执行的操作?

  • @algosig:该标签不会做你认为它做的事情。如果同时使用“text”和“textvariable”,则“text”的值将被忽略。 (3认同)