我有一个简单的tkinter窗口,可以从质量转换为重量。代码是:
from tkinter import *
from tkinter import ttk
win = Tk()
Label(win, text='Mass to Weight').pack()
entry = IntVar(win)
entry.set(1)
e1 = Entry(win, textvariable=entry)
us = StringVar(win)
us.set('Mass')
dm1 = ttk.OptionMenu(win, us, 'Mass', 'Mass', 'Weight')
def callback(*args):
su = e1.get()
go = (int(float(su))*10)
e1.delete(0, 'end')
e1.insert(0, str(go))
dm1.configure(state='disabled')
us.trace('w', callback)
e1.pack()
dm1.pack()
win.mainloop()
质量乘以10得到重量。因此,当我们'时,会调用回调函数。价值变为重量。但问题是这个函数被调用了两次。例如,当我想将10 Kg质量转换为重量时,它返回1000而不是100.请不要将返回值放在相同的条目小部件中 感谢。