1
我試圖從一個選項菜單小部件和一個文件上的條目小部件保存用戶輸入,問題是用戶輸入的條目小部件沒有正確保存。下面是我的代碼。如何將tkinter OptionMenu&Entry小部件的內容保存到文件中?
from tkinter import *
class ComputeTax:
def __init__(self, master):
self.compute_tax_frame = Frame(master)
self.compute_tax_frame.pack()
self.tax_status_label = Label(self.compute_tax_frame, text="input tax status:")
self.tax_status_label.grid(row=0, column=0, sticky=E)
self.status_option = StringVar(self.compute_tax_frame)
self.status_option.set("S")
self.tax_status_option = OptionMenu(self.compute_tax_frame,
self.status_option, "S", "M", "M1", "M2", "M3", "M4",
command=self.save_ts)
self.tax_status_option.grid(row=0, column=1, sticky=W)
self.monthly_salary_label = Label(self.compute_tax_frame, text="input monthly pay:")
self.monthly_salary_label.grid(row=1, column=0, sticky=E)
self.salary_input = StringVar(self.compute_tax_frame)
self.salary_input.set("0.00")
self.monthly_salary_input = Entry(self.compute_tax_frame,
textvariable=self.salary_input)
self.monthly_salary_input.grid(row=1, column=1)
self.calculate_button = Button(self.compute_tax_frame, text="Save & Calculate now!")
self.calculate_button.grid(row=3, columnspan=2)
def save_ts(self, value):
tax = value
pay = self.salary_input.get()
with open("monthly_net_pay", "w") as file:
file.write("{}\n".format(tax))
file.write("{}\n".format(pay))
file.close()
frame = Tk()
a_compute_class = ComputeTax(frame)
frame.title("Monthly Tax & Net Pay Computation")
frame.mainloop()
@馬蒂諾哇!作品完美無瑕。非常感謝! – raymund
您的歡迎,並在這種情況下,請接受我的答案。參見[_當有人回答我的問題時我應該怎麼做?](http://stackoverflow.com/help/someone-answers) – martineau
P.S.我也想在你的編碼很好的tkinter應用程序上恭維你。順便說一句,[新墨西哥科技](http://www.nmt.edu/)有一個很好的在線[** _ Tkinter參考_ **](http://infohost.nmt.edu/tcc/help/pubs/tkinter/ web/index.html)你可能會覺得有用。 – martineau