小部件等于非

2024-05-23 13:25:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Tkinter制作一个GUI,它允许在其中一个窗口中输入数据:

enterscore = Entry(window4, font="Helvatica 25", textvariable = newscore).pack()

我试图制作一个按钮,将输入的数据保存为变量:

savebttn = Button(window4, text= "Save", width=5, height=2, font="Helvatica 25", command = savescore).pack()

其中:

def savescore():
    score = enterscore.get()

但是,如果我运行程序,它会返回错误消息:

AttributeError: 'NoneType' object has no attribute 'get'

我哪里出错了


Tags: 数据gettkintergui按钮packentryfont
2条回答

不要这样做:

enterscore = Entry(window4, font="Helvatica 25", textvariable = newscore).pack()

调用pack返回None,而不是小部件tkinter不支持这种方法链接。相反,请执行以下操作:

enterscore = Entry(window4, font="Helvatica 25", textvariable = newscore)
enterscore.pack()

这将构造小部件,并将enterscore设置为指向它。调用enterscore.pack会产生与上面相同的效果,但是eneterscore会指向正确的对象(小部件,而不是None

pack方法返回None。您需要将创建Entry的语句和打包的statemetn分开

enterscore = Entry(window4, font="Helvatica 25", textvariable=newscore)
enterscore.pack()

savebttn也一样

相关问题 更多 >