设计一个界面,用两个文本框分别输入数值,一个列表框里面分别有加减乘除。用户先在两个文本框中分别输入两个数,在列表框中选择运算方法,点击运算按钮,在界面上相关组件上显示运算结果。运算结果存入数据库中,存入的数据包括两个输入的数值,选择的运算方法和计算的结果,每次计算输入的第一个数值相对其他运算的是不同的,可通过第一个数值查询到数据库中的计算结果
时间: 2024-03-21 17:41:15 浏览: 155
好的,这是一个界面设计和数据库操作的问题。我会尽力回答您的问题。
首先,您需要一个界面,界面上有两个文本框和一个列表框,以及一个按钮。您可以使用Python的GUI库,如Tkinter或PyQt来创建这个界面。下面是一个使用Tkinter的示例代码:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
self.master.title("Calculator")
# Create widgets
self.num1_label = tk.Label(self.master, text="Number 1:")
self.num1_label.grid(row=0, column=0)
self.num1_entry = tk.Entry(self.master)
self.num1_entry.grid(row=0, column=1)
self.num2_label = tk.Label(self.master, text="Number 2:")
self.num2_label.grid(row=1, column=0)
self.num2_entry = tk.Entry(self.master)
self.num2_entry.grid(row=1, column=1)
self.operation_label = tk.Label(self.master, text="Operation:")
self.operation_label.grid(row=2, column=0)
self.operation_listbox = tk.Listbox(self.master, height=4)
self.operation_listbox.insert(1, "+")
self.operation_listbox.insert(2, "-")
self.operation_listbox.insert(3, "*")
self.operation_listbox.insert(4, "/")
self.operation_listbox.grid(row=2, column=1)
self.calculate_button = tk.Button(self.master, text="Calculate", command=self.calculate)
self.calculate_button.grid(row=3, column=0, columnspan=2)
self.result_label = tk.Label(self.master, text="Result:")
self.result_label.grid(row=4, column=0)
self.result_entry = tk.Entry(self.master, state="readonly")
self.result_entry.grid(row=4, column=1)
def calculate(self):
# Get inputs
num1 = float(self.num1_entry.get())
num2 = float(self.num2_entry.get())
operation = self.operation_listbox.get(self.operation_listbox.curselection())
# Calculate result
if operation == "+":
result = num1 + num2
elif operation == "-":
result = num1 - num2
elif operation == "*":
result = num1 * num2
elif operation == "/":
result = num1 / num2
# Display result
self.result_entry.config(state="normal")
self.result_entry.delete(0, tk.END)
self.result_entry.insert(0, result)
self.result_entry.config(state="readonly")
root = tk.Tk()
app = Calculator(root)
root.mainloop()
```
这段代码创建了一个名为"Calculator"的窗口,其中包含两个文本框、一个列表框和一个按钮。用户输入两个数值并在列表框中选择运算方法后,点击按钮可以计算结果并在界面上显示。
接下来,您需要将计算结果存入数据库中。您可以使用Python的SQLite库来创建并操作数据库。下面是一个使用SQLite的示例代码:
```python
import sqlite3
# Connect to database
conn = sqlite3.connect("calculator.db")
c = conn.cursor()
# Create table
c.execute("CREATE TABLE IF NOT EXISTS calculations (num1 REAL, num2 REAL, operation TEXT, result REAL)")
# Insert data
num1 = 10.0
num2 = 5.0
operation = "+"
result = num1 + num2
c.execute("INSERT INTO calculations VALUES (?, ?, ?, ?)", (num1, num2, operation, result))
# Query data
c.execute("SELECT * FROM calculations WHERE num1 = ?", (num1,))
rows = c.fetchall()
for row in rows:
print(row)
# Commit and close connection
conn.commit()
conn.close()
```
这段代码创建了一个名为"calculator.db"的SQLite数据库,并创建了一个名为"calculations"的表。每次计算结果时,将计算结果和其他数据插入到"calculations"表中。您可以通过第一个数值查询数据库中的计算结果。
希望这些代码可以帮助您解决问题。如果您有任何问题,请随时问我。
阅读全文