设计一个界面,用两个文本框分别输入数值,一个列表框里面分别有加,减,乘,除。用户先在两个文本框中分别输入两个数,在列表框中选择运算方法,点击运算按钮,在界面上相关组件上显示运算结果。运算结果存入数据库中,存入的数据包括两个输入的数值,选择的运算的方法和计算的结果,每次计算输入的第一个数值相对其他运算的是不同的,可通过第一个数值查询到数据库中的计算结果.
时间: 2024-03-22 08:36:59 浏览: 80
matlab GUI仿真编程入门教程 使用MATLAB制作一个带界面的加法计算器 共14页.pdf
好的,这是一个简单的界面设计,可以使用Python的Tkinter库实现。以下是一个示例代码:
```python
import tkinter as tk
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('calculator.db')
c = conn.cursor()
# 创建数据表
c.execute('''CREATE TABLE IF NOT EXISTS calculations
(num1 real, operation text, num2 real, result real)''')
# 定义运算函数
def calculate():
num1 = float(num1_entry.get())
num2 = float(num2_entry.get())
operation = operation_listbox.get(tk.ACTIVE)
if operation == '加':
result = num1 + num2
elif operation == '减':
result = num1 - num2
elif operation == '乘':
result = num1 * num2
else:
result = num1 / num2
result_label.config(text='结果:{}'.format(result))
# 将计算结果存入数据库
c.execute("INSERT INTO calculations VALUES (?, ?, ?, ?)", (num1, operation, num2, result))
conn.commit()
# 定义查询函数
def query():
num1 = float(num1_entry.get())
c.execute("SELECT * FROM calculations WHERE num1=?", (num1,))
results = c.fetchall()
if results:
result_str = ''
for result in results:
result_str += '运算:{} {} {} = {}\n'.format(result[0], result[1], result[2], result[3])
query_result.config(text=result_str)
else:
query_result.config(text='没有查询到结果')
# 创建GUI窗口
root = tk.Tk()
root.title('简单计算器')
# 创建组件
num1_label = tk.Label(root, text='数值1:')
num1_entry = tk.Entry(root)
num2_label = tk.Label(root, text='数值2:')
num2_entry = tk.Entry(root)
operation_label = tk.Label(root, text='运算:')
operation_listbox = tk.Listbox(root, height=4)
operation_listbox.insert(1, '加')
operation_listbox.insert(2, '减')
operation_listbox.insert(3, '乘')
operation_listbox.insert(4, '除')
calculate_button = tk.Button(root, text='计算', command=calculate)
result_label = tk.Label(root, text='结果:')
query_button = tk.Button(root, text='查询', command=query)
query_result = tk.Label(root, text='')
# 布局组件
num1_label.grid(row=0, column=0)
num1_entry.grid(row=0, column=1)
num2_label.grid(row=1, column=0)
num2_entry.grid(row=1, column=1)
operation_label.grid(row=2, column=0)
operation_listbox.grid(row=2, column=1)
calculate_button.grid(row=3, column=0)
result_label.grid(row=3, column=1)
query_button.grid(row=4, column=0)
query_result.grid(row=4, column=1)
# 运行窗口
root.mainloop()
# 关闭数据库连接
conn.close()
```
该代码实现了一个简单的计算器界面,包括两个文本框、一个列表框、一个计算按钮、一个结果标签和一个查询按钮。当用户点击计算按钮时,程序会根据用户输入的数值和选择的运算方式计算结果,并将计算结果存入数据库中;当用户点击查询按钮时,程序会根据用户输入的第一个数值查询数据库中的计算结果,并在界面上显示出来。
阅读全文