我想要的是一个简单的Widget,它将条目中输入的值与日期和时间一起添加到cvs文件中,如下所示:
2016-02-22 11:40 12
2016-02-22 11:43 549
2016-02-22 11:44 321
我的代码到目前为止:
from tkinter import *
import csv
import datetime
def enter_button():
now = datetime.datetime.now()
amount = e1.get()# That is where I thought I should get the Input from the widget
with open('File.csv', 'a') as f:
w = csv.writer(f,dialect='excel-tab')
w.writerow([now.strftime("%Y-%m-%d %H:%M"), amount]) # write Date/Time and the value
f.close()
master = Tk()
e1 = Entry(master)
Label(master, text='Enter Number Here').grid(row=0)
myButton=Button(master,text='Enter',command=enter_button())
e1.grid(row=0,column=1)
myButton.grid(row=1,column=0)
mainloop()
问题是Entry字段中的值没有写入cvs文件....我只得到按下按钮(myButton
)的日期和时间....
这些都写入.csv
文件。
那么我错过了从Entry字段到函数(enter_button
)的值?
感谢
答案 0 :(得分:2)
原因是您正在调用enter_button
函数
myButton = Button(master, text='Enter',command=enter_button())
^^^
您需要为command
选项指定函数名称。
myButton = Button(master, text='Enter', command=enter_button)
此外,您不需要致电f.close()
,因为with
声明会为您解决此问题。