Nae*_*Nae 3 python tk-toolkit tkinter
不能tkinter.widget.configure(text="our text")用于所有小部件?使用的优点或主要目的是什么:
var_cls = tkinter.StringVar()
tkinter.widget.configure(textvariable=var_cls)
Run Code Online (Sandbox Code Playgroud)
它是否var_cls可以更容易地在方法/类之间共享?
Variable类的示例:
import tkinter as tk
root = tk.Tk()
var = tk.StringVar(value="This will be on the label.")
tk.Label(root, textvariable=var).pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
没有Variable类的示例:
import tkinter as tk
root = tk.Tk()
tk.Label(root, text="This will be on the label.").pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
在Tkinter的应用程序,StringVar(以及IntVar,BooleanVar和DoubleVar)是很少需要.底层的tcl/tk解释器为其所有变量提供了特殊功能,因此存在这些包装器以利用这些功能.
这些变量的两大优势是:
我的意见是你不应该使用它们,除非你特别需要这两个功能之一.如果您只需要获取或设置窗口小部件的值,则可以在窗口小部件本身上执行此操作(例如:entry_widget.insert(...),label_widget.configure(text ='...')等) .
我觉得它们通过引入需要管理的额外对象来增加开销,除非您利用上述两个功能,否则不会提供任何额外的好处.