Python 使用DB变量进行Tkinter数学运算
我需要对取自Python 使用DB变量进行Tkinter数学运算,python,database,sqlite,tkinter,Python,Database,Sqlite,Tkinter,我需要对取自 a:数据库 b:tkinter入口 #Get database number cantidad = IntVar() cursor.execute('''SELECT terneros FROM animales''') cantidad.set(cursor.fetchone()) 然后,一个tkinter条目: ent_peso = Entry (ventana1, textvariable=peso).grid(row=3, column=2) 当我尝试进行以下操作时 t
a:数据库
b:tkinter入口
#Get database number
cantidad = IntVar()
cursor.execute('''SELECT terneros FROM animales''')
cantidad.set(cursor.fetchone())
然后,一个tkinter条目:
ent_peso = Entry (ventana1, textvariable=peso).grid(row=3, column=2)
当我尝试进行以下操作时
total = StringVar()
total.set(peso*cantidad.get())
messagebox.showinfo("Resultado", "$: "+ total.get())
我明白了
TypeError: getdouble() argument must be str, not tuple
完整代码:
peso = IntVar()
def calcular():
cantidad = IntVar()
cursor.execute('''SELECT terneros FROM animales''')
cantidad.set(cursor.fetchone())
total = StringVar()
total.set(peso.get()*cantidad.get())
messagebox.showinfo("Resultado", "$: "+ total.get())
ent_peso = Entry (ventana, textvariable=peso).grid(row=3, column=2)
but_calc = Button(ventana, text="Calcular", command=calcular).place(x=150,y=115)
ventana.mainloop()
您的问题在于以下代码行:
cantidad.set(cursor.fetchone())
cursor.fetchone()
方法返回一个元组,其中包含查询中的所有值,在本例中为(terneros,)
。
您应该将这行代码更改为
cantidad.set(cursor.fetchone()[0])
以获取此元组的内容。将其转换为string@ADWANhoy说“it”是什么意思?你提供的代码都不足以重现你所得到的错误。