我有3个条目。在上面两个条目中,输入一个整数,第三个整数相加。那么,如何保存所有3个输入并再次将它们分配到适当的条目中?
我创建了用于删除所有输入[新建],打开文件[打开],保存[保存],[另存为]和总和[sum]的按钮
我试图更改诸如file_open或file_save之类的功能,以获得所需的结果,但不幸的是,它不起作用。
import math
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog
def main():
root = tk.Tk()
app = Bauleitung(root)
root.mainloop()
class Bauleitung:
def __init__(self, master):
self.master = master
self.master.geometry('200x200')
self.frame = tk.Frame(self.master)
self.frame.pack()
self.prozent1 = tk.StringVar()
self.prozent2 = tk.StringVar()
self.summe = tk.StringVar()
self.entProzent1 = tk.Entry(self.frame, width=5, relief='solid', textvariable = self.prozent1)
self.entProzent1.grid(row=1, column=1)
self.entProzent2 = tk.Entry(self.frame, width=5, relief='solid', textvariable = self.prozent2)
self.entProzent2.grid(row=2, column=1)
self.entProzent3 = tk.Entry(self.frame, width=5, relief='solid', textvariable = self.summe)
self.entProzent3.grid(row=3, column=1)
self.btnNew = ttk.Button(self.frame, text='New', command=self.file_new)
self.btnNew.grid(sticky='S')
self.btnOpen = ttk.Button(self.frame, text='Open', command=self.file_open)
self.btnOpen.grid( sticky='S')
self.btnSave = ttk.Button(self.frame, text='Save', command=self.file_save)
self.btnSave.grid(sticky='S')
self.btnSaveAs = ttk.Button(self.frame, text='Save As', command=self.file_save_as)
self.btnSaveAs.grid(sticky='S')
self.btnSum = ttk.Button(self.frame, text='Sum', command=self.sum_up)
self.btnSum.grid(sticky='S')
def sum_up(self):
the_sum = int(self.entProzent1.get()) + int(self.entProzent2.get())
return self.summe.set(the_sum)
def file_new(self):
global filename
self.entProzent1.delete('0', 'end')
filename = ''
self.entProzent2.delete('0', 'end')
filename = ''
self.entProzent3.delete('0', 'end')
filename = ''
def file_open(self):
global filename
filename = filedialog.askopenfile(mode='r+')
if filename is not None:
t = filename.read()
self.entProzent1.delete('0', 'end')
self.entProzent1.insert('0', t)
self.entProzent1.focus()
z = filename.read()
self.entProzent2.delete('0', 'end')
self.entProzent2.insert('0', z)
self.entProzent2.focus()
l = filename.read()
self.entProzent3.delete('0', 'end')
self.entProzent3.insert('0', l)
self.entProzent3.focus()
def file_save(self):
global filename
if filename == '':
filename = filedialog.asksaveasfile(mode='w')
if filename is not None:
data1 = self.entProzent1.get()
filename.write(data1)
data2 = self.entProzent2.get()
filename.write(data2)
data3 = self.entProzent3.get()
filename.write(data3)
def file_save_as(self):
global filename
filename = filedialog.asksaveasfile(mode='w')
self.file_save()
if __name__ == '__main__':
main()