import mysql.connector # 连接 MySQL 数据库 mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) # 查询数据 mycursor = mydb.cursor() mycursor.execute("SELECT * FROM products") products = mycursor.fetchall() # 计算每种商品的收入 for product in products: name = product[1] cost = product[2] price = product[3] sales = product[4] income = (price - cost) * sales print("{} 的收入为:{}".format(name, income)) # 计算所有商品的总收入 total_income = sum([(product[3] - product[2]) * product[4] for product in products]) print("所有商品的总收入为:{}".format(total_income))请将结果显示在gui界面中,而不是直接输出
时间: 2024-03-07 09:47:04 浏览: 67
好的,让我们将结果显示在 GUI 界面中,而不是直接输出到控制台。
首先,我们需要在 GUI 界面中添加一个文本框,用于显示计算结果。可以使用 Tkinter 中的 Text 组件来实现这一功能。下面是修改后的代码示例:
```python
import mysql.connector
from tkinter import *
# 连接 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
# 查询数据
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM products")
products = mycursor.fetchall()
# 计算每种商品的收入
result = ""
for product in products:
name = product[1]
cost = product[2]
price = product[3]
sales = product[4]
income = (price - cost) * sales
result += "{} 的收入为:{}\n".format(name, income)
# 计算所有商品的总收入
total_income = sum([(product[3] - product[2]) * product[4] for product in products])
result += "所有商品的总收入为:{}".format(total_income)
# 创建 GUI 界面
root = Tk()
root.title("商家收入系统")
# 商品名称
name_label = Label(root, text="商品名称:")
name_label.grid(row=0, column=0)
name_entry = Entry(root)
name_entry.grid(row=0, column=1)
# 商品成本
cost_label = Label(root, text="商品成本:")
cost_label.grid(row=1, column=0)
cost_entry = Entry(root)
cost_entry.grid(row=1, column=1)
# 商品售价
price_label = Label(root, text="商品售价:")
price_label.grid(row=2, column=0)
price_entry = Entry(root)
price_entry.grid(row=2, column=1)
# 商品销售量
sales_label = Label(root, text="商品销售量:")
sales_label.grid(row=3, column=0)
sales_entry = Entry(root)
sales_entry.grid(row=3, column=1)
# 保存按钮
save_button = Button(root, text="保存", command=save_product)
save_button.grid(row=4, column=0, columnspan=2)
# 结果文本框
result_text = Text(root)
result_text.grid(row=5, column=0, columnspan=2)
result_text.insert(END, result)
root.mainloop()
```
在上面的代码中,我们使用了一个名为 `result` 的字符串变量,用于保存计算结果。在计算每种商品的收入时,我们将结果添加到 `result` 变量中。在计算所有商品的总收入时,我们将其添加到 `result` 变量的末尾。最后,我们将 `result` 变量的内容插入到 GUI 界面中的文本框中,以便用户查看计算结果。
希望这个修改后的代码可以帮助到你,如有疑问请随时联系我!
阅读全文