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

tkinter创建动态变量命名Entry控件报AttributeError如何解决

问题根源

你遇到的AttributeError: 'NoneType' object has no attribute 'get'报错,核心是两个写法错误:

  1. Tkinter 所有布局方法(grid()/pack()/place())都没有返回值,你把Entry(window,width=10).grid(row=1, column=1+i)的执行结果直接赋值给score_*变量,最终所有score_*变量拿到的都是None,自然无法调用get方法。
  2. 窗口标题设置写法错误,window.title=("Score")是错误的属性赋值,正确的写法是调用title方法:window.title("Score")。
修正代码
from tkinter import *

window = Tk()
# 修正窗口标题调用方式
window.title("Score")
window.geometry('1200x90')

def total():
    print(score_1.get())

# 先创建Entry对象存到变量,再单独调用grid布局
for i in range(9):
    globals()['score_{}'.format(i)] = Entry(window, width=10)
    globals()['score_{}'.format(i)].grid(row=1, column=1+i)

#button
b1=Button(window,text="total",command=total,fg="red",width=5)
b1.grid(row=0,column=20,sticky="ew")

window.mainloop()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:36:04