Python Tkinter多条目窗口小部件计算错误
我想创建一个简单的程序,用于多项目计算和金额合计。 只有第一行项目计算有效,但我需要创建5个带有行和条目小部件的项目, 我已经创建了第二行,但计算错误即将出现 对不起,我英语不好 代码是Python Tkinter多条目窗口小部件计算错误,python,python-3.x,tkinter,tkinter-entry,Python,Python 3.x,Tkinter,Tkinter Entry,我想创建一个简单的程序,用于多项目计算和金额合计。 只有第一行项目计算有效,但我需要创建5个带有行和条目小部件的项目, 我已经创建了第二行,但计算错误即将出现 对不起,我英语不好 代码是 from tkinter import * def mul(event): a=float(t1.get()) b=float(t2.get()) c=a*b t3.insert(0,c) g=float(v1.get()) h=float(v2.get())
from tkinter import *
def mul(event):
a=float(t1.get())
b=float(t2.get())
c=a*b
t3.insert(0,c)
g=float(v1.get())
h=float(v2.get())
i=g*h
v3.insert(0,c)
win=Tk()
win.geometry('850x450')
l1=Label(win,text="SL")
l1.grid(row=1,column=0)
l2=Label(win,text="price")
l2.grid(row=0,column=1)
l3=Label(win,text="Qty/Kgs")
l3.grid(row=0,column=2)
l4=Label(win,text="Amount")
l4.grid(row=0,column=3)
l5=Label(win,text="DR")
l5.grid(row=2,column=0)
t1=Entry(win)
t1.grid(row=1,column=1)
t2=Entry(win)
t2.grid(row=1,column=2)
t3=Entry(win)
t3.grid(row=1,column=3)
v1=Entry(win)
v1.grid(row=2,column=1)
v2=Entry(win)
v2.grid(row=2,column=2)
v3=Entry(win)
v3.grid(row=2,column=3)
t2.bind('<Return>',mul)
v2.bind('<Return>',mul)
win.mainloop()
提前感谢此处的错误可能是逻辑错误。试着说
v3.insert(0,i)
而不是v3.insert(0,c)
。但GUI似乎仍然非常缺乏。如果您想改进功能,请点击这里
from tkinter import *
count = 0
def mul(event):
global count
count += 1
if count > 1:
t3.delete(0,END)
a=float(t1.get())
b=float(t2.get())
c=a*b
t3.insert(0,c)
def mul2(event):
global count
count += 1
if count > 1:
v3.delete(0,END)
g=float(v1.get())
h=float(v2.get())
i=g*h
v3.insert(0,i)
win=Tk()
win.geometry('850x450')
l1=Label(win,text="SL")
l1.grid(row=1,column=0)
l2=Label(win,text="price")
l2.grid(row=0,column=1)
l3=Label(win,text="Qty/Kgs")
l3.grid(row=0,column=2)
l4=Label(win,text="Amount")
l4.grid(row=0,column=3)
l5=Label(win,text="DR")
l5.grid(row=2,column=0)
t1=Entry(win)
t1.grid(row=1,column=1)
t2=Entry(win)
t2.grid(row=1,column=2)
t3=Entry(win)
t3.grid(row=1,column=3)
v1=Entry(win)
v1.grid(row=2,column=1)
v2=Entry(win)
v2.grid(row=2,column=2)
v3=Entry(win)
v3.grid(row=2,column=3)
t2.bind('<Return>',mul)
v2.bind('<Return>',mul2)
win.mainloop()
从tkinter导入*
计数=0
def mul(事件):
全局计数
计数+=1
如果计数>1:
t3.删除(0,结束)
a=浮点(t1.get())
b=浮点(t2.get())
c=a*b
t3.插入(0,c)
def mul2(事件):
全局计数
计数+=1
如果计数>1:
v3.删除(0,结束)
g=浮点(v1.get())
h=浮点(v2.get())
i=g*h
v3.插入(0,i)
win=Tk()
win.geometry('850x450'))
l1=标签(win,text=“SL”)
l1.网格(行=1,列=0)
l2=标签(win,text=“价格”)
l2.网格(行=0,列=1)
l3=标签(win,text=“数量/千克”)
l3.网格(行=0,列=2)
l4=标签(win,text=“金额”)
l4.网格(行=0,列=3)
l5=标签(win,text=“DR”)
l5.网格(行=2,列=0)
t1=进入(win)
t1.网格(行=1,列=1)
t2=进入(赢)
t2.网格(行=1,列=2)
t3=进入(win)
t3.网格(行=1,列=3)
v1=进入(赢)
v1.网格(行=2,列=1)
v2=进入(赢)
v2.网格(行=2,列=2)
v3=进入(win)
v3.网格(行=2,列=3)
t2.绑定(“”,mul)
v2.绑定(“”,mul2)
win.mainloop()
我分别在两个不同的条目小部件上使用绑定,因此更容易减少空字符串错误
希望有帮助
干杯请更新代码的缩进。Python对缩进非常敏感,Python程序员也是如此。@quamrana缩进看起来很直接,所以我更新了它。不确定OP缩进是否有这种想法既然@CoolCloud已经解决了缩进问题,请用这个
计算错误的详细信息更新问题。无论如何,我猜错误是v3.insert(0,c)
应该是v3.insert(0,i)
@CoolCloud:您可能发现了OP尚未遇到的其他错误。我只是专注于OP告诉我的事情。
from tkinter import *
count = 0
def mul(event):
global count
count += 1
if count > 1:
t3.delete(0,END)
a=float(t1.get())
b=float(t2.get())
c=a*b
t3.insert(0,c)
def mul2(event):
global count
count += 1
if count > 1:
v3.delete(0,END)
g=float(v1.get())
h=float(v2.get())
i=g*h
v3.insert(0,i)
win=Tk()
win.geometry('850x450')
l1=Label(win,text="SL")
l1.grid(row=1,column=0)
l2=Label(win,text="price")
l2.grid(row=0,column=1)
l3=Label(win,text="Qty/Kgs")
l3.grid(row=0,column=2)
l4=Label(win,text="Amount")
l4.grid(row=0,column=3)
l5=Label(win,text="DR")
l5.grid(row=2,column=0)
t1=Entry(win)
t1.grid(row=1,column=1)
t2=Entry(win)
t2.grid(row=1,column=2)
t3=Entry(win)
t3.grid(row=1,column=3)
v1=Entry(win)
v1.grid(row=2,column=1)
v2=Entry(win)
v2.grid(row=2,column=2)
v3=Entry(win)
v3.grid(row=2,column=3)
t2.bind('<Return>',mul)
v2.bind('<Return>',mul2)
win.mainloop()