利用tkinter设计一个录入实验数据界面,要求有3-7个单行文本框和2个按钮(一个实现计算功能,一个实现保存功能),将实验数据和计算结果都保存到文件中
时间: 2024-02-05 08:11:50 浏览: 9
好的,下面是设计代码:
```python
import tkinter as tk
class InputDataGUI:
def __init__(self):
self.window = tk.Tk()
self.window.title("录入实验数据")
self.window.geometry("400x300")
# 定义文本框标签和文本框
label1 = tk.Label(self.window, text="数据1")
label1.place(x=50, y=50)
self.entry1 = tk.Entry(self.window)
self.entry1.place(x=100, y=50)
label2 = tk.Label(self.window, text="数据2")
label2.place(x=50, y=80)
self.entry2 = tk.Entry(self.window)
self.entry2.place(x=100, y=80)
label3 = tk.Label(self.window, text="数据3")
label3.place(x=50, y=110)
self.entry3 = tk.Entry(self.window)
self.entry3.place(x=100, y=110)
label4 = tk.Label(self.window, text="数据4")
label4.place(x=50, y=140)
self.entry4 = tk.Entry(self.window)
self.entry4.place(x=100, y=140)
# 定义计算按钮和保存按钮
self.calc_button = tk.Button(self.window, text="计算", command=self.calculate)
self.calc_button.place(x=100, y=180)
self.save_button = tk.Button(self.window, text="保存", command=self.save_data)
self.save_button.place(x=200, y=180)
self.result_label = tk.Label(self.window, text="")
self.result_label.place(x=50, y=220)
def run(self):
self.window.mainloop()
def calculate(self):
data1 = float(self.entry1.get())
data2 = float(self.entry2.get())
data3 = float(self.entry3.get())
data4 = float(self.entry4.get())
result = data1 + data2 + data3 + data4
self.result_label.config(text="结果为: {}".format(result))
def save_data(self):
data1 = self.entry1.get()
data2 = self.entry2.get()
data3 = self.entry3.get()
data4 = self.entry4.get()
result = self.result_label.cget("text")
with open("data.txt", "w") as f:
f.write("数据1: {}\n".format(data1))
f.write("数据2: {}\n".format(data2))
f.write("数据3: {}\n".format(data3))
f.write("数据4: {}\n".format(data4))
f.write(result)
self.result_label.config(text="保存成功!")
if __name__ == '__main__':
app = InputDataGUI()
app.run()
```
运行代码后会弹出一个窗口,里面有4个文本框用来输入数据,一个计算按钮和一个保存按钮。计算按钮可以计算数据的和,并在窗口下方显示结果。保存按钮可以将数据和结果保存到文件中。