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”是什么意思?你提供的代码都不足以重现你所得到的错误。