You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Tkinter如何将字符串转为同名对象以调用控件get方法

解决方案

方案1:字典存储控件(推荐)

动态生成批量控件时,使用专用字典存储是最易维护、不会污染全局命名空间的做法,修改创建逻辑:

list_a = ['FACILITYCODE','FACILITYNAME','Owner','RegionDescription','Territory','DMA','ADDRESSONE','CITY', 'STATEABBREVIATION','ZIPCODE']
# 声明字典存储控件
label_dict = {}
entry_dict = {}

temp_rows_var2 = 0
temp_cols_var2 = 0
for i in list_a:
    label_dict[i] = Label(editor_frame2, text=str(i))
    label_dict[i].grid(row=temp_rows_var2, column=temp_cols_var2)
    entry_dict[i] = Entry(editor_frame2, width=20)
    entry_dict[i].grid(row=temp_rows_var2+1, column=temp_cols_var2)
    temp_cols_var2 +=1

取值逻辑:

new_temp_list = []
for i in list_a:
    new_temp_list.append(entry_dict[i].get())

方案2:适配现有全局变量写法(不推荐)

你之前的报错原因是[i+"entry"]仅生成了包含拼接字符串的列表,没有从全局命名空间中提取对应名称的控件对象,修改取值逻辑即可:

new_temp_list = []
for i in list_a:
    entry_obj = globals()[i + "entry"]
    new_temp_list.append(entry_obj.get())

内容的提问来源于stack exchange,提问作者OrangeCFA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:27:03