如何解决如何使变量等于tkinter中从输入字段接收的输入?
我想知道如何使此代码正常工作。我总是在控制台中得到12。
from tkinter import *
s = 12
root = Tk()
root.geometry("200x200")
root.title("Program")
e = Entry(root)
e.pack()
def clicked():
e.get = s
print(s)
button = Button(root,command=clicked,text="ok")
button.pack()
root.mainloop()
解决方法
您必须按以下步骤更改功能clicked
:
def clicked():
s=e.get()
print(s)
您的代码中有两个错误:
- 您试图将值
12
分配给一个函数。 - 您未在调用函数(使用括号)。
此行:
e.get = s
说名为e
的{{1}}的方法与get
相同。
废话您希望s
与s
返回的值相等。
要返回某些内容,您需要先调用此方法。
因此,这样做的逻辑上正确的方法是:
e.get
请注意,它是函数的封闭名称空间中的变量。 要使其成为全局变量,您需要全局变量。
s = e.get()
,
我使用了.place()
而不是.pack()
,并将我的相同条目放置在与之前相同的位置上,但是这次如果单击确定按钮时值发生了变化。
使用e.insert(0,"Value")
在条目中插入任何值。
这对我有用。还让我知道它对您也有用吗?
from tkinter import *
s = 12
root = Tk()
root.geometry("200x200")
root.title("Program")
e = Entry(root)
e.place(relx=0.1,rely = 0.1)
def clicked():
e = Entry(root)
e.insert(0,s)
e.place(relx=0.1,rely = 0.1)
button = Button(root,command=clicked,text="ok")
button.place(relx=0.4,rely = 0.2)
root.mainloop()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。