我正在编写一个简单的 GUI 程序,需要从 ini 文件加载默认值。我已经为 Entry 小部件指定了名称,并且可以通过以下方式获取它nametowidget
方法。
但是,我找不到访问绑定到条目小部件的 StringVar 并更新其值的方法。使用调试器,我可以看到 StringVar 对象没有 tkinter master,并且它们不会出现在任何小部件子项中。那么我想做的事情可能吗?或者有解决方法吗?
下面是相关的函数。
def load_data(data_file):
"""
Read an ini file and update related values
:param data_file:
:return:
"""
conf = configparser.ConfigParser()
try:
conf.read(data_file)
for section in conf.sections():
try:
container = SECTIONS[section]
for key in conf[section]:
widget = container.nametowidget(key)
widget.set(conf[section][key])
except KeyError:
pass
except configparser.Error as e:
print(e)
Tkinter 小部件有一个getvar
and setvar
方法,可用于通过变量名称获取和设置变量的值。
您可以使用以下命令获取与小部件关联的变量的名称cget
method.
Example:
var = tk.IntVar()
entry = tk.Entry(..., textvariable=var)
...
varname = entry.cget("textvariable")
value = entry.getvar(varname)
entry.setvar(varname, value+1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)