利用tkinter设计一个录入实验数据界面,要求有3-7个单行文本框和2个按钮(一个实现求均值功能,一个实现保存功能),将实验数据和计算结果都保存到文件中。
时间: 2024-02-12 21:03:28 浏览: 94
频繁项集挖掘算法Apriori+Fp-growth的软件(Python-tkinter实现操作界面)包括实验数据集!
5星 · 资源好评率100%
好的,下面是您需要的代码示例,同样需要注意的是,由于我是一个AI语言模型,无法在本地环境中运行代码,所以您需要将这段代码拷贝至本地环境,并根据您的需求进行修改和调整。
```python
import tkinter as tk
fields = 'Data 1', 'Data 2', 'Data 3', 'Data 4', 'Data 5', 'Data 6', 'Data 7'
def calculate_mean(entries):
# 计算均值函数,根据实验数据计算均值
vals = []
for field in fields:
vals.append(float(entries[field].get()))
result = sum(vals) / len(vals)
result_entry.delete(0, tk.END)
result_entry.insert(0, str(result))
def save_data(entries):
# 保存函数,将实验数据和计算结果保存到文件中
with open('data.txt', 'a') as f:
for field in fields:
f.write(entries[field].get() + ',')
f.write(result_entry.get() + '\n')
def makeform(root, fields):
# 创建单行文本框和标签
entries = {}
for field in fields:
row = tk.Frame(root)
lab = tk.Label(row, width=20, text=field, anchor='w')
ent = tk.Entry(row)
row.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5)
lab.pack(side=tk.LEFT)
ent.pack(side=tk.RIGHT, expand=tk.YES, fill=tk.X)
entries[field] = ent
return entries
if __name__ == '__main__':
# 创建主窗口
root = tk.Tk()
root.title('录入实验数据')
ents = makeform(root, fields)
# 创建计算均值按钮
calculate_button = tk.Button(root, text='求均值', command=(lambda e=ents: calculate_mean(e)))
calculate_button.pack(side=tk.LEFT, padx=5, pady=5)
# 创建保存按钮
save_button = tk.Button(root, text='保存', command=(lambda e=ents: save_data(e)))
save_button.pack(side=tk.LEFT, padx=5, pady=5)
# 创建计算结果显示框
result_label = tk.Label(root, width=20, text='Mean:', anchor='w')
result_entry = tk.Entry(root)
result_label.pack(side=tk.LEFT, padx=5, pady=5)
result_entry.pack(side=tk.LEFT, expand=tk.YES, fill=tk.X, padx=5, pady=5)
# 运行主循环
root.mainloop()
```
这个示例代码与之前的代码略有不同,主要是将计算均值的函数与计算结果的显示框进行了修改,其他部分基本相同。同样,您可以根据自己的需求进行修改和扩展。
阅读全文