更新输入文字(Tkinter)

Fri*_*ser 2 python tkinter python-3.x

下面的代码段通过表单从用户处获取输入,然后将输入乘以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()
Run Code Online (Sandbox Code Playgroud)

Laf*_*los 5

您可以使用输入deleteinsert方法。

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()
Run Code Online (Sandbox Code Playgroud)