我需要使用从中获取的变量进行数学运算
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()
答案 0 :(得分:2)
您的问题在于以下代码行:
cantidad.set(cursor.fetchone())
cursor.fetchone()
方法返回一个元组,其中包含查询中的所有值,在本例中为(terneros,)
。
您应该将此行代码更改为
cantidad.set(cursor.fetchone()[0])
以获取此元组的内容。