In: Computer Science
Python 3
Fix this: show the current date where the calendar field is
# required library
import tkinter as tk
from tkcalendar import DateEntry
import xlsxwriter
# frame
window = tk.Tk()
window.title("daily logs")
#window.resizable(0,0)
# labels
tk.Label(window, text="Bar code").grid(row=0, sticky="W", pady=20,
padx=20)
tk.Label(window, text="Products failed").grid(row=1, sticky="W",
pady=20, padx=20)
tk.Label(window, text="Money Lost").grid(row=2, sticky="W",
pady=20, padx=20)
tk.Label(window, text="Failed date").grid(row=3, sticky="W",
pady=20, padx=20)
# entries
barcode = tk.Entry(window)
product = tk.Entry(window)
money = tk.Entry(window)
# arraging
barcode.grid(row=0, column=1)
product.grid(row=1, column=1)
money.grid(row=2, column=1)
cal = DateEntry(window, width=12, year=2019, month=6, day=22,
background='darkblue', foreground='white', borderwidth=2)
cal.grid(row=3, column=1)
# callback function
def cleardate():
barcode.delete(0, 'end')
product.delete(0, 'end')
money.delete(0, 'end')
# callback function
def readValue():
excel_barcode = barcode.get()
excel_product = product.get()
excel_money = money.get()
date = cal._date
print(date)
workbook =
xlsxwriter.Workbook("dailylog.xlsx")
worksheet = workbook.add_worksheet()
worksheet.write("A1", "BARCODE")
worksheet.write("B1", "MONEY")
worksheet.write("C1", "PRODUCT")
worksheet.write("D1", "date")
worksheet.write("A2", excel_barcode)
worksheet.write("B2", excel_money)
worksheet.write("C2", excel_product)
worksheet.write("D2", str(date))
workbook.close()
cleardate() #calls cleardate() function
# button to trigger actions
button = tk.Button(text="SUBMIT", command=readValue).grid(row=4,
pady=20, padx=20)
button = tk.Button(text="CLEAR", command=cleardate).grid(row=4,
column=1, pady=20, padx=20)
window.geometry("500x400")
window.mainloop()
I hope this is what you needed. I have written a code for this. just import date from datetime. I have also attached screenshot
code------------------------------------------------------
import tkinter as tk
from tkcalendar import Calendar, DateEntry
import xlsxwriter
from datetime import date
# frame
window = tk.Tk()
window.title("daily logs")
#window.resizable(0,0)
# labels
tk.Label(window, text="Bar code").grid(row=0, sticky="W", pady=20,
padx=20)
tk.Label(window, text="Products failed").grid(row=1, sticky="W",
pady=20, padx=20)
tk.Label(window, text="Money Lost").grid(row=2, sticky="W",
pady=20, padx=20)
tk.Label(window, text="Failed date").grid(row=3, sticky="W",
pady=20, padx=20)
# entries
barcode = tk.Entry(window)
product = tk.Entry(window)
money = tk.Entry(window)
# arraging
barcode.grid(row=0, column=1)
product.grid(row=1, column=1)
money.grid(row=2, column=1)
today = date.today() #will give the current
date
cal = DateEntry(window, width=12, year=today.year,
month=today.month, day=today.day, background='darkblue',
foreground='white', borderwidth=2)
cal.grid(row=3, column=1)
# callback function
def cleardate():
barcode.delete(0, 'end')
product.delete(0, 'end')
money.delete(0, 'end')
# callback function
def readValue():
excel_barcode = barcode.get()
excel_product = product.get()
excel_money = money.get()
date = cal._date
print(date)
workbook =
xlsxwriter.Workbook("dailylog.xlsx")
worksheet = workbook.add_worksheet()
worksheet.write("A1", "BARCODE")
worksheet.write("B1", "MONEY")
worksheet.write("C1", "PRODUCT")
worksheet.write("D1", "date")
worksheet.write("A2", excel_barcode)
worksheet.write("B2", excel_money)
worksheet.write("C2", excel_product)
worksheet.write("D2", str(date))
workbook.close()
cleardate() #calls cleardate() function
# button to trigger actions
button = tk.Button(text="SUBMIT", command=readValue).grid(row=4,
pady=20, padx=20)
button = tk.Button(text="CLEAR", command=cleardate).grid(row=4,
column=1, pady=20, padx=20)
window.geometry("500x400")
window.mainloop()
Screenshots------------------------------------------------