下面的代码片段通过表单获取用户的输入,然后返回输入乘以 2。我想要做的是,当用户键入一个数字(例如 5)并按下键盘上的“Enter”键时或者点击“计算”按钮,他输入数字“5”的地方除了紧接下面的地方之外,也应该显示10。通常,表单会保留输入的数字,但其正下方的位置会更新并显示 10(假设您输入了 5)
我怎样才能更新表格位置?
(如果我的问题不清楚,请告诉我,以便我更好地解释自己。)
from tkinter import *
def multiplier(*args):
try:
value = float(ment.get())
result.set(value * 2)
except ValueError:
pass
mGui = Tk()
mGui.geometry("300x300+300+300")
ment = StringVar()
result = StringVar()
mbutton = Button (mGui, text = "Calculate", command = multiplier)
mbutton.pack()
mEntry = Entry(mGui, textvariable = ment, text="bebe")
mEntry.pack()
mresult = Label(mGui, textvariable = result)
mresult.pack()
您可以使用Entry的
delete
和insert
方法。
from tkinter import *
def multiplier(*args):
try:
value = float(ment.get())
res = value *2
result.set(res)
mEntry.delete(0, END) #deletes the current value
mEntry.insert(0, res) #inserts new value assigned by 2nd parameter
except ValueError:
pass
mGui = Tk()
mGui.geometry("300x300+300+300")
ment = StringVar()
result = StringVar()
mbutton = Button (mGui, text = "Calculate", command = multiplier)
mbutton.pack()
mEntry = Entry(mGui, textvariable = ment, text="bebe")
mEntry.pack()
mresult = Label(mGui, textvariable = result)
mresult.pack()
您通过
StringVar
方法更新 set
,这是您在 multiplier
函数中执行的操作。所以你的问题是当用户按下回车时如何触发调用乘数,你可以使用:
mGui.bind('<Return>', multiplier)
您是否也想更改
Entry
中的文本?问题有点不清楚。您也可以通过 ment.set
来完成此操作。
IDK IDK IDK IDK IDK IDK IDK IDK IDK IDK IDK IDK