【发布时间】:2018-03-21 13:44:36
【问题描述】:
我正在使用 Tkinter。我想从价格和数量计算总价,但它不起作用。
def adding(self):
if self.validation():
query = 'INSERT INTO products VALUES (?,?,?,?,?)'
parameters = (self.name.get(), self.price.get(), self.price.get() * self.quantity.get() ,self.quantity.get(),self.date.get())
self.run_query(query,parameters)
self.message['text']= 'Record {} added'.format (self.name.get())
self.message['text'] = 'Record {} added'.format(self.price.get())
self.message['text'] = 'Record {} added'.format(self.quantity.get())
self.message['text'] = 'Record {} added'.format(self.quantity.get() * self.price.get())
self.message['text'] = 'Record {} added'.format(self.date.get())
self.name.delete(0, END)
self.price.delete(0, END)
self.quantity.delete(0, END)
self.date.delete(0, END)
else:
self.message['text'] = 'name field or price is empty'
self.viewing_records()
我得到了同伴错误:
Tkinter 回调异常 回溯(最近一次通话最后): 调用中的文件“C:\Users\me\AppData\Local\Programs\Python\Python35-32\lib\tkinter__init__.py”,第 1550 行 返回 self.func(*args) 文件“C:/Users/me/PycharmProjects/crawler/db.py”,第 78 行,添加 参数 = (self.name.get(), self.price.get(), self.price.get() * self.quantity.get() ,self.quantity.get(),self.date.get() ) TypeError:不能将序列乘以“str”类型的非整数
你能帮我吗,这些数据存储在 sqlite3 表中
【问题讨论】:
-
当您在条目小部件上调用
get()时,您将得到一个字符串而不是一个数字。 -
您需要使用
int()将get()返回的字符串转换为整数。您还需要确保get()返回的字符串值始终是数字,否则int()将导致错误。 -
您在这里所拥有的不会在您的帖子中产生错误
标签: python tkinter sqlite calculated-field