什么时候使用变量类? (布尔变量、双变量、整数变量、字符串变量)

2024-04-27

Can't tkinter.widget.configure(text="our text")用于所有小部件?有什么好处,或者说主要使用目的:

var_cls = tkinter.StringVar()
tkinter.widget.configure(textvariable=var_cls)

是那个吗var_cls可以更轻松地在方法/类等之间共享吗?


变量类的示例:

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()

没有变量类的示例:

import tkinter as tk
root = tk.Tk()
tk.Label(root, text="This will be on the label.").pack()
root.mainloop()

在 tkinter 应用程序中,StringVar(也IntVar, BooleanVar, and DoubleVar)很少需要。底层 tcl/tk 解释器为其所有变量提供特殊功能,因此这些包装器的存在是为了利用这些功能。

这些变量的两大优点是:

  1. 您可以将一个变量与多个小部件关联,以便两个或多个小部件始终显示完全相同的信息
  2. 您可以绑定值更改时要调用的函数。

我的观点是,除非您特别需要这两个功能之一,否则您不应该使用它们。如果您只需要获取或设置小部件的值,则可以在小部件本身上执行此操作(例如:entry_widget.insert(...)、label_widget.configure(text='...') 等) 。

我认为它们通过引入需要管理的附加对象来增加开销,并且不会提供任何额外的好处,除非您利用上述两个功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么时候使用变量类? (布尔变量、双变量、整数变量、字符串变量) 的相关文章

随机推荐