def create_custom_time_entry(self, container_frame): listbox = container_frame.winfo_children( )[0] # TODO: Find a better way to access this listbox than simply quoting the ID. frame = LabelFrame(container_frame, text="Custom Time Frame", padx=10, pady=10) start_label = ttk.Label(frame, text="Start Date:") start_label.grid(row=0, column=0, padx=10, pady=10) start_select = DateEntry(frame) start_select.grid(row=0, column=1, padx=10, pady=10) start_select.bind('<<DateEntrySelected>>', lambda event: self.timeframe_updated(listbox)) end_label = ttk.Label(frame, text="End Date:") end_label.grid(row=1, column=0, padx=10, pady=10) end_select = DateEntry(frame) end_select.grid(row=1, column=1, padx=10, pady=10) end_select.bind('<<DateEntrySelected>>', lambda event: self.timeframe_updated(listbox)) return frame
def student1(): removeallwidget() mainheading() lab = Label(root, text="Student LogIn Form", font=("Ariel", 30)) lab.grid(row=3, column=4) btn2 = Button(root, text="Back", bd=5, command=back) btn2.grid(row=3, column=1) lab1 = Label(root, text="RollNo", font=("Ariel", 20)) lab1.grid(row=4, column=3) lab2 = Label(root, text="Date Of Birth", font=("Ariel", 20)) lab2.grid(row=5, column=3) rollentry = Entry(root, textvar=rollentryv) rollentry.grid(row=4, column=5) global dobloginentry dobloginentry = DateEntry(root, date_pattern="YYYY-MM-DD", state="readonly") dobloginentry.grid(row=5, column=5) btn = Button(root, text="LogIN", font=("Ariel", 20, "bold"), bd=10, command=studentlogin) btn.grid(row=6, column=4) btn1 = Button(root, text="New Registration", font=("Ariel", 20, "bold"), bd=10, command=studentregistration) btn1.grid(row=7, column=4)
class Spectral2Spectrum(ttk.LabelFrame): """ ttk.Frame with all the parameters required for the laser spectrum """ def __init__(self, parent: ttk.Frame, row: int, update: Callable[[], None], col: int = 0) -> None: """ :param parent: """ super(Spectral2Spectrum, self).__init__(parent, text='Spectral2 spectrum') self.grid(column=col, row=row, sticky=tk.NSEW, pady=15) # Date and time self.hour = tk.IntVar(value=12) self.min = tk.IntVar(value=0) self.hour.trace_add('write', update) self.min.trace_add('write', update) date_label = ttk.Label(self, text="Date") time_label = ttk.Label(self, text="Time (h:m)") self.cal = DateEntry(self, foreground='black', year=2018, month=12, day=1) hour_box = ttk.Combobox(self, values=list(range(0, 24)), textvariable=self.hour, width=5) min_box = ttk.Combobox(self, values=list(range(0, 60)), textvariable=self.min, width=5) date_label.grid(column=0, row=0, sticky=tk.NSEW) time_label.grid(column=1, row=0, columnspan=2, sticky=tk.NSEW) hour_box.grid(column=1, row=1, sticky=tk.NSEW) hour_box.bind('<<ComboboxSelected>>', update) min_box.grid(column=2, row=1, sticky=tk.NSEW) min_box.bind('<<ComboboxSelected>>', update) self.cal.grid(column=0, row=1, sticky=tk.NSEW) self.cal.bind('<<DateEntrySelected>>', update)
def select_period(window, command): period_screen = Toplevel(window) d_lbl = Label(period_screen, text="Select prefered period") d_lbl.grid(column=0, row=0) d_lbl2 = Label(period_screen, width=15, text="From") d_lbl2.grid(column=0, row=1) cal1 = DateEntry(period_screen, date_pattern='yyyy-mm-dd', width=12, background='darkblue', foreground='white', borderwidth=2) cal1.grid(column=0, row=2) current_date = get_date() cal1.set_date(current_date) d_lbl2 = Label(period_screen, width=15, text="To") d_lbl2.grid(column=1, row=1) cal2 = DateEntry(period_screen, date_pattern='yyyy-mm-dd', width=12, background='darkblue', foreground='white', borderwidth=2) cal2.grid(column=1, row=2) cal2.set_date(current_date) d_btn1 = Button(period_screen, text="Set period", command=lambda: [set_period(cal1, cal2, command), period_screen.destroy()]) d_btn1.grid(column=0, row=3)
def create_task_view(tk): clear_view(tk) Label(tk, text="Enter your task name: ").grid(row=0, column=0, padx=20, pady=20) name = Entry(tk) name.grid(row=0, column=1, padx=20, pady=20) Label(tk, text="Due date: ").grid(row=1, column=0, padx=20, pady=20) date = DateEntry(tk) date.grid(row=1, column=1, padx=20, pady=20) Label(tk, text="Description: ").grid(row=2, column=0, padx=20, pady=20) description = ScrolledText(tk, width=20, height=10) description.grid(row=2, column=1, padx=20, pady=20) Label(tk, text="Select priority: ").grid(row=3, column=0, padx=20, pady=20) selected = IntVar() rad1 = Radiobutton(tk, text='Low', value=1, variable=selected) rad2 = Radiobutton(tk, text='Medium', value=2, variable=selected) rad3 = Radiobutton(tk, text='High', value=3, variable=selected) rad1.grid(column=1, row=3) rad2.grid(column=2, row=3) rad3.grid(column=3, row=3) Label(tk, text="Check if completed: ").grid(row=4, column=0, padx=20, pady=20) chk_state = BooleanVar() chk_state.set(False) # set check state chk = Checkbutton(tk, text='Choose', var=chk_state) chk.grid(column=1, row=4) all_fields = [name, date, description, selected, chk_state] Button(tk, text="Create new task", bg="green", fg="white", command=lambda: create_task(name.get(), date.get(), description.get("1.0", END), selected.get(), chk_state.get())).grid(row=5, column=0) Button(tk, text="Cancel", bg="black", fg="white", command=lambda: main_view(tk)).grid(row=5, column=1, padx=100, pady=100)
def view_donation_records(window): """ Creates UI for viewing donation records. """ donation_records_window = tk.Toplevel(window) donation_records_window.title("View Donation Records") Label(donation_records_window, text='From:').grid(row=0, column=0) cal = DateEntry(donation_records_window, foreground='black', date_pattern='yyyy-MM-dd') cal.grid(row=0,column=1) s = ttk.Style(donation_records_window) #s.theme_use('clam') city = Label(donation_records_window, text="City").grid(row=1, column=0) city = StringVar(donation_records_window) city.set("Huntsville") cityEntry = OptionMenu(donation_records_window, city, "Huntsville", "Birmingham", "Madison") cityEntry.grid(row=1, column=1) validateDonationRecords = partial(show_donation_records,cal, city) show_records = Button(donation_records_window, text = "Show records",command=validateDonationRecords).grid(row=2,column=3)
class App(Tk): def __init__(self): Tk.__init__(self) style_temp = ttk.Style() style_hum = ttk.Style() style_comun = ttk.Style() style_boton = ttk.Style() style_temp.configure("T.TLabel", font=('Impact', 62), foreground='yellow', background='green') style_hum.configure("H.TLabel", font=('Impact', 62), foreground='blue', background='gray') style_comun.configure("Common.TLabel", font=('Times New Roman', 15), foreground='black') style_boton.configure("boton.TLabel", font=('Arial', 18), foreground='red', background='black', relief=RIDGE) content = ttk.Frame(self, padding="12 12 12 12") self.frame_temp = ttk.Label(content, text='14' + 'ºC', style="T.TLabel") self.frame_hum = ttk.Label(content, text='17' + '%', style="H.TLabel") self.cal_from = DateEntry(content, width=12, background='darkblue', foreground='white', borderwidth=2, year=2007) self.cal_to = DateEntry(content, width=12, background='darkblue', foreground='white', borderwidth=2, year=2019) self.label_from = ttk.Label(content, text='desde: ', style="Common.TLabel") self.label_to = ttk.Label(content, text='hasta: ', style="Common.TLabel") self.label_blank = ttk.Label(content, text='', style="Common.TLabel") self.label_temp = ttk.Label(content, text='Temperatura', style="Common.TLabel") self.label_hum = ttk.Label(content, text='Humedad', style="Common.TLabel") self.label_blank2 = ttk.Label(content, text='', style="Common.TLabel") self.boton_plot = ttk.Button(content, text='PLOT', style="boton.TLabel", command=self.destroy) content.grid(column=0, row=0) self.frame_temp.grid(column=0, row=0, columnspan=2, rowspan=3, sticky=W) self.frame_hum.grid(column=3, row=0, columnspan=2, rowspan=3, sticky=W) self.label_temp.grid(column=0, row=4, columnspan=2, sticky=S) self.label_hum.grid(column=3, row=4, columnspan=2, sticky=S) self.label_blank.grid(column=2, row=0, sticky=S) self.label_blank2.grid(column=0, row=5, sticky=S) self.label_from.grid(column=0, row=6, sticky=[W]) self.label_to.grid(column=0, row=7, sticky=W) self.cal_from.grid(column=1, row=6, sticky=S) self.cal_to.grid(column=1, row=7, sticky=[S]) self.boton_plot.grid(column=4, row=6, rowspan=2) self.queue = queue.Queue() thread = SerialThread(self.queue) thread.start() self.process_serial() def process_serial(self): while self.queue.qsize(): try: v = self.queue.get() self.label_temp.configure(text=str(v[0])+'ºC') self.label_hum.configure(text=str(v[1])+'%') except queue.Empty: pass self.after(100, self.process_serial)
def add_new_event(window): """ Creates UI for adding new event. """ add_events_window = tk.Toplevel(window) add_events_window.title("Add Events") event_id = Label(add_events_window, text="Set Event Id").grid(row=0, column=0) event_id = IntVar() eventIdEntry = Entry(add_events_window, textvariable=event_id).grid(row=0, column=1) event_name = Label(add_events_window, text="Event Name").grid(row=1, column=0) event_name = StringVar() eventNameEntry = Entry(add_events_window, textvariable=event_name).grid(row=1, column=1) Label(add_events_window, text='Date of Event:').grid(row=2, column=0) cal = DateEntry(add_events_window, foreground='black', date_pattern='yyyy-MM-dd') cal.grid(row=2, column=1) s = ttk.Style(add_events_window) #s.theme_use('clam') street = Label(add_events_window, text="Street").grid(row=3, column=0) street = StringVar() streetEntry = Entry(add_events_window, textvariable=street).grid(row=3, column=1) city = Label(add_events_window, text="City").grid(row=4, column=0) city = StringVar(add_events_window) city.set("Huntsville") cityEntry = OptionMenu(add_events_window, city, "Huntsville", "Birmingham", "Madison") cityEntry.grid(row=4, column=1) organizer_name = Label(add_events_window, text="Organizer Name").grid(row=5, column=0) organizer_name = StringVar(add_events_window) organizer_name.set("The University of Alabama in Huntsville") organizerNameEntry = OptionMenu(add_events_window, organizer_name, "The University of Alabama in Huntsville", "Lions club", "Red Cross Society", "Florence club", "Birmingham Club", "Athens Club", "Madison Club", "Geo club", "Womens club") organizerNameEntry.grid(row=5, column=1) validateAddEvent = partial(add_event, event_id, event_name, cal, street, city, organizer_name) add = Button(add_events_window, text="Add Event", command=validateAddEvent).grid(row=6, column=3)
def create_date_entry(col, row, window, day, month, year): de = DateEntry(window, width=17, day=day, month=month, year=year, background='darkblue', foreground='white', borderwidth=2) de.grid(row=row, column=col) return de
def tk_calendar(): # global cal cal = DateEntry(main_window, width=12, year=2021, month=5, day=12, background='darkblue', foreground='white', borderwidth=2) cal.grid(column=1, row=8)
def debtpayment(): '''manages the gui part for debit card payement''' try: onlinepay.destroy() except: pass global debt debt = Toplevel() debt.title('Debit paygate') debts = ThemedStyle(debt) debts.set_theme(theme) debtlabelframe = tk.LabelFrame(debt, text="DEBIT PAYEMENT METHOD", font=('calibri', 10, 'italic')) debtlabelframe.pack(padx=15, pady=15) cardno = Label( debtlabelframe, text='Card Number:', ) cardno.grid(row=0, column=0, padx=10, pady=10) cardnoent = Entry(debtlabelframe) cardnoent.grid(row=0, column=1, padx=10, pady=10) expdate = Label( debtlabelframe, text='Expiry Date:', ) expdate.grid(row=1, column=0, padx=10, pady=10) expdateent = DateEntry(debtlabelframe, width=18) expdateent.grid(row=1, column=1, padx=10, pady=10) cardno = Label( debtlabelframe, text='CVV :', ) cardno.grid(row=2, column=0, padx=10, pady=10) cardnoent1 = Entry(debtlabelframe) cardnoent1.config(show='•') cardnoent1.grid(row=2, column=1, padx=10, pady=10) cardno = Label( debtlabelframe, text='Cardholder Name :', ) cardno.grid(row=3, column=0, padx=10, pady=10) cardnoent = Entry(debtlabelframe) cardnoent.bind("<Return>", lambda x: finalpay()) cardnoent.grid(row=3, column=1, padx=10, pady=10) paybt = Button(debtlabelframe, width=10, text="PAY", command=finalpay) paybt.grid(row=4, column=0, padx=10, pady=10) cancel = Button(debtlabelframe, width=10, text="CANCEL", command=debt.destroy) cancel.grid(row=4, column=1, padx=10, pady=10) debt.mainloop()
def calendarDate(): def getDate_Sel(e): fileCompDate.set(cal.get_date()) cal = DateEntry(window, width=12, background='darkblue', foreground='white', borderwidth=2) cal.grid(column=1, row=8, sticky="W") cal.bind("<<DateEntrySelected>>", getDate_Sel)
def newteacherentry(): removeallwidget() mainheading() head = Label(root, text="New Teacher Entry", font=("Ariel", 30, "bold")) head.grid(row=3, column=4) btn = Button(root, text="Back", bd=5, command=institute1) btn.grid(row=3, column=1) lab = Label(root, text="Full Name", font=("Ariel", 20)) lab.grid(row=4, column=3) tnameentry = Entry(root, textvar=tnameentryv) tnameentry.grid(row=4, column=5) lab1 = Label(root, text="Father's Name", font=("Ariel", 20)) lab1.grid(row=5, column=3) tfnameentry = Entry(root, textvar=tfnameentryv) tfnameentry.grid(row=5, column=5) lab2 = Label(root, text="Mother's Name", font=("Ariel", 20)) lab2.grid(row=6, column=3) tmnameentry = Entry(root, textvar=tmnameentryv) tmnameentry.grid(row=6, column=5) lab3 = Label(root, text="Date Of Birth", font=("Ariel", 20)) lab3.grid(row=7, column=3) global tdobentry tdobentry = DateEntry(root, date_pattern="YYYY-MM-DD", state="readonly") tdobentry.grid(row=7, column=5) lab4 = Label(root, text="Qualification", font=("Ariel", 20)) lab4.grid(row=8, column=3) tqualificationentry = Combobox(root, values=["B.Tech", "M.Tech", "Ph.D"], state="readonly", textvar=tqualificationentryv) tqualificationentry.grid(row=8, column=5) lab5 = Label(root, text="Mobile Number", font=("Ariel", 20)) lab5.grid(row=9, column=3) tmobilenumberentry = Entry(root, textvar=tmobilenumberv) tmobilenumberentry.grid(row=9, column=5) tmobilenumberentry.configure(validate="key", validatecommand=(callback, "%P")) lab6 = Label(root, text="Email ID", font=("Ariel", 20)) lab6.grid(row=10, column=3) temailid = Entry(root, textvar=temailidv) temailid.grid(row=10, column=5) lab7 = Label(root, text="Address", font=("Ariel", 20)) lab7.grid(row=11, column=3) global taddress taddress = Text(root, width=50, height=5) taddress.grid(row=11, column=5) btn1 = Button(root, text="Register", bd=10, font=("Ariel", 20, "bold"), command=registertdata) btn1.grid(row=13, column=4)
def new(): signup = tk.Tk() signup.title('CREATE AN ACCOUNT') signup.geometry('400x250') lbl1 = tk.Label(signup, text='Name: ', font=('Comic San MS', 10)) lbl1.grid(column=0, row=0, sticky=E, padx=5, pady=5) lbl2 = tk.Label(signup, text='Phone Number: ', font=('Comic San MS', 10)) lbl2.grid(column=0, row=1, sticky=E, padx=5, pady=5) lbl3 = tk.Label(signup, text='New Password: '******'Comic San MS', 10)) lbl3.grid(column=0, row=2, sticky=E, padx=5, pady=5) lbl4 = tk.Label(signup, text='Re-enter Password: '******'Comic San MS', 10)) lbl4.grid(column=0, row=3, sticky=E, padx=5, pady=5) lbl5 = tk.Label(signup, text='Date Of Birth: ', font=('Comic San MS', 10)) lbl5.grid(column=0, row=4, sticky=E, padx=5, pady=5) def keyPress(event): if (event.char >= 'a' and event.char <= 'z'): messagebox.showerror('ERROR', 'Only Numerical Values Are Allowed') txt5 = tk.Entry(signup, width=20) txt5.grid(column=1, row=0) txt6 = tk.Entry(signup, width=20) txt6.grid(column=1, row=1) txt3 = tk.Entry(signup, width=20, show='*') txt3.grid(column=1, row=2) txt4 = tk.Entry(signup, width=20, show='*') txt4.grid(column=1, row=3) DOB = DateEntry(signup) DOB.grid(column=1, row=4) txt6.bind('<KeyPress>', keyPress) #keypress event detection def save(): if (txt3.get() != txt4.get()): messagebox.showerror( 'ERROR', 'New and Re-Entered Password must be the same') fwrite = open('CustomerRecords.log', 'a') name = txt5.get() phno = txt6.get() passw = txt3.get() dob = DOB.get() fwrite.write(name + ';' + phno + ';' + passw + ';') fwrite.write(dob) fwrite.write('\n') fwrite.close() btn4 = tk.Button(signup, text='Sign up', command=save) btn4.grid(column=1, row=5, sticky=E, padx=10, pady=10)
def dateselector(): def s(): global G G = [e1.get_date(),e3.get_date(),e2.get_date(),e4.get_date()] master.destroy() master = tk.Tk() tk.Label(master, text="Check-In Dates").grid(row=0,column=0) tk.Label(master, text="Check-Out Dates").grid(row=1,column=0) e1 = DateEntry(master,width=12,year=2019,month=8,day=1,background='darkblue', foreground='white', borderwidth=2) e2 = DateEntry(master,width=12,year=2019,month=8,day=14,background='darkblue', foreground='white', borderwidth=2) e3 = DateEntry(master,width=12,year=2019,month=8,day=31,background='darkblue', foreground='white', borderwidth=2) e4 = DateEntry(master,width=12,year=2019,month=8,day=31,background='darkblue', foreground='white', borderwidth=2) e1.grid(row=0, column=1) e2.grid(row=1, column=1) e3.grid(row=0, column=2) e4.grid(row=1, column=2) tk.Button(master, text='Get Reservations', command= s).grid(row=3, column=0, sticky=tk.W, pady=4) tk.mainloop() return(G)
class inputWindow: startDate = datetime.today() endDate = datetime.today() def display(self): self.root = tk.Tk() frame = tk.Frame(self.root) self.startCal=DateEntry(self.root,dateformat=3,width=12, background='white', foreground='white', borderwidth=4,Calendar=datetime.now().year) self.endCal=DateEntry(self.root,dateformat=3,width=12, background='white', foreground='white', borderwidth=4,Calendar=datetime.now().year) button = tk.Button(self.root, text='Open data', command=self.getFile) self.root.configure(background = 'white') frame.config(background = 'white') grid = tk.Frame(frame) tk.Grid.columnconfigure(self.root, 2, weight=1) tk.Grid.columnconfigure(self.root, 1, weight=1) tk.Grid.rowconfigure(self.root, 5, weight=1) frame.grid(sticky='NSEW', column=0, row=0) button.grid(row=2, columnspan=2) label = tk.Label(self.root, text='Start Date:', fg = 'black', bg = 'white', font = 'Verdana 10') label.grid(row=0, column=0) self.startCal.grid(row=0, column=1) label = tk.Label(self.root, text='End Date:', fg = 'black', bg = 'white', font = 'Verdana 10') label.grid(row=1, column=0) self.endCal.grid(row=1, column=1) tk.mainloop() def getFile(self): if self.startCal.get_date() < self.endCal.get_date(): self.file_path = tk.filedialog.askopenfilename() self.root.focus_force() if self.file_path != '': self.setData() else: tk.messagebox.showinfo('Input Error', 'Start date is not before end date') self.root.focus_force() def setData(self): self.startDate = self.startCal.get_date() self.endDate = self.endCal.get_date() returnData() self.root.destroy() def getData(self): return self.file_path, self.startDate, self.endDate
def manipulateExam(self, chosenExam): newWindow = Toplevel(self) newWindow.title("New Window") Label(newWindow, text="Date of pass: "******"Time of pass(HH:MM): ").grid(row=2, column=0) time = Entry(newWindow, width=50) time.grid(row=2, column=1, columnspan=2) change_time = partial(self.change_time, date, time, chosenExam) change_time_btn = Button(newWindow, text="Change time", command=change_time) change_time_btn.grid(columnspan=3) if chosenExam.status == 'Planned': Label(newWindow, text="---------------------------------------------").grid( columnspan=3) Label(newWindow, text="Pass exam").grid(row=4, columnspan=3) Label(newWindow, text="Enter score: ").grid(row=5, column=0) score = Entry(newWindow, width="39") score.grid(row=5, column=1, columnspan=2) change_sal = partial(self.finish_exam, score, chosenExam) finish_exam_btn = Button(newWindow, text="Finish exam", command=change_sal) finish_exam_btn.grid(row=6, columnspan=3) Label( newWindow, text="------------------------------------------------------------" ).grid(columnspan=3) delete = partial(self.delete_exam, chosenExam) del_btn = Button(newWindow, text="Delete exam", command=delete) del_btn.grid(columnspan=3) Label( newWindow, text="------------------------------------------------------------" ).grid(columnspan=2) exam_export = partial(self.exam_export, chosenExam) exam_report = Button(newWindow, text="Export info about this exam in Word", command=exam_export) exam_report.grid(columnspan=3)
def render_create_task_view(tk): clear_view(tk) Label(tk, text='Enter your task name:').grid(row=0, column=0, padx=20, pady=20) task_name = Entry(tk) task_name.grid(row=0, column=1, padx=20, pady=20) Label(tk, text='Due date:').grid(row=1, column=0, padx=20, pady=20) date = DateEntry(tk) date.grid(row=1, column=1) Label(tk, text='Description').grid(row=2, column=0, padx=20, pady=20) description = ScrolledText(tk, width=50, height=10) description.grid(row=2, column=1, padx=20, pady=20) Label(tk, text='Select priority:').grid(row=3, column=0, padx=20, pady=20) selected_priority = IntVar() Radiobutton(tk, text='Low', value=1, variable=selected_priority).grid(row=3, column=1, padx=20, pady=20) Radiobutton(tk, text='Medium', value=2, variable=selected_priority).grid(row=3, column=2, padx=20, pady=20) Radiobutton(tk, text='High', value=3, variable=selected_priority).grid(row=3, column=3, padx=20, pady=20) Label(tk, text='Is completed?').grid(row=4, column=0, padx=20, pady=20) is_completed = BooleanVar() Checkbutton(tk, text='Check', variable=is_completed).grid(row=4, column=1, padx=20, pady=20) Button(tk, text='Create task', bg='green', fg='white', command=lambda: create_task(name=task_name.get(), date=date.get(), description=description.get('1.0', END), priority=selected_priority.get(), is_completed=is_completed.get())).grid( row=5, column=0, padx=20, pady=80)
def organizer_details(window): """ Creates UI for displaying organizer details. """ organizer_window = tk.Toplevel(window) organizer_window.title("View Organizer") eventname = Label(organizer_window, text="Event Name").grid(row=0, column=0) eventname = StringVar() eventNameEntry = Entry(organizer_window, textvariable=eventname).grid(row=0, column=1) tk.Label(organizer_window, text='Event Date:').grid(row=1, column=0) cal = DateEntry(organizer_window, foreground='black', date_pattern='yyyy-MM-dd') cal.grid(row=1, column=1) city = Label(organizer_window, text="City").grid(row=2, column=0) city = StringVar() cityEntry = Entry(organizer_window, textvariable=city).grid(row=2, column=1) street = Label(organizer_window, text="Street").grid(row=3, column=0) street = StringVar() streetEntry = Entry(organizer_window, textvariable=street).grid(row=3, column=1) organizers = Label(organizer_window, text="Organizer Details").grid(row=6, column=0) organizers = StringVar() organizers_entry = Entry(organizer_window, width="100", textvariable=organizers) organizers_entry.grid(row=6, columnspan=2, padx=100, pady=100, ipady=100) validate_organizers = partial(display_organizer_info, organizers, eventname, cal, city, street) show_organizers = tk.Button(organizer_window, text="Show Organizers", command=validate_organizers).grid(row=4, column=3)
def drawDate(parent, width=8, **kw): rx = 0 # these are used to orient label cy = 1 # either above or next to entry year = datetime.datetime.now().year datefra = ttk.Frame(parent) datelbl = ttk.Label(datefra, text=kw['label'], style='wLabel.TLabel') de = DateEntry(datefra, width=width, year=year, foreground='white', background='darkblue', borderwidth=2, textvariable=kw['var'], cursor='hand1') datelbl.grid(row=0, column=0, sticky='nw') de.grid(row=1, column=0) return datefra
def __init__(self): Frame.__init__(self) self.main = Tk() self.main.geometry('400x100') self.main.title("Enter Date Range To Import") progress = Progressbar(self.main, orient=HORIZONTAL, maximum=500, value=0, length=200, mode='determinate') progress.grid(column=0, row=3) startData_lbl = Label(self.main, text="Pick Start Day") endDate_lbl = Label(self.main, text="Pick End Date") running_lbl = Label(self.main) entry_import = Entry(self.main, width=15) startCal = DateEntry(self.main, year=2013) endCal = DateEntry(self.main) click_ok = partial(self.okClicked, startCal, endCal, progress, self.main, running_lbl) btn_okClicked = Button(self.main, text="Import All", width=10, command=click_ok) click_import_single = partial(be.importSingleStock, entry_import, startCal, endCal, running_lbl) btn_import_single = Button(self.main, text="Import Single", width=10, command=click_import_single) entry_import.grid(column=0, row=0) startData_lbl.grid(column=0, row=1) endDate_lbl.grid(column=0, row=2) endCal.grid(column=1, row=2) startCal.grid(column=1, row=1) btn_okClicked.grid(column=2, row=3) running_lbl.grid(column=1, row=3) btn_import_single.grid(column=1, row=0)
def add_task(tk): clear_view(tk) # window configuration tk.title("Add task") tk.geometry("500x500") # task name Label(tk, text="Enter your task name:").grid(row=0, column=0, padx=15, pady=25) name = Entry(tk, width=30) name.grid(row=0, column=1) # date Label(tk, text="Due date:").grid(row=1, column=0, pady=25) date = DateEntry(tk) date.grid(row=1, column=1) # description Label(tk, text="Description:").grid(row=2, column=0, pady=25) description = Text(tk, width=25, height=10) description.grid(row=2, column=1) # priority Label(tk, text="Select priority:").grid(row=3, column=0, pady=25) priority = IntVar() Radiobutton(tk, text="Low", value=1, variable=priority).grid(row=3, column=1) Radiobutton(tk, text="Medium", value=2, variable=priority).grid(row=3, column=2) Radiobutton(tk, text="High", value=3, variable=priority).grid(row=3, column=3) # is completed Label(tk, text="Check if completed:").grid(row=4, column=0, pady=25) is_completed = BooleanVar() Checkbutton(tk, text="Choose", variable=is_completed).grid(row=4, column=1) # goes to create_task function Button(tk, text="Create task", bg="green", fg="white", command=lambda: create_task(name=name.get(), date=date.get(), description=description.get('1.0', END), priority=priority.get(), is_completed=is_completed.get())) \ .grid(row=5, column=0, pady=15) # goes to main screen Button(tk, text="Cancel", bg="black", fg="white", command=lambda: main_screen(tk)).grid(row=5, column=1)
def create_datepicker(self, label, filter_key, column): tk.Label(self, text=label).grid(row=0, column=column, sticky="W") container = tk.Frame(self) date_picker = DateEntry(container, date_pattern=Filters.DATE_PATTERN) date_picker.config(validate='none') date_picker.bind('<<DateEntrySelected>>', self.on_date_pick(filter_key)) date_picker.delete(0, tk.END) date_picker.grid(row=0, column=0) clear_btn = tk.Button( container, text="x", command=self.on_clear_date_click(date_picker, filter_key), ) clear_btn.grid(row=0, column=1, sticky="N") container.grid(row=1, column=column)
def mainwindow(): lab = Label(root, text="Age Calculator", font=("Ariel", 40, "bold"), bg="red", padx=500) lab.grid(row=0, column=0, columnspan=10) lab1 = Label(root, text="Current Date", font=("Ariel", 30, "bold")) lab1.grid(row=1, column=0) entry = Entry(root, textvar=currentv, state=DISABLED) entry.grid(row=1, column=2) lab2 = Label(root, text="Date Of Birth", font=("Ariel", 30, "bold")) lab2.grid(row=2, column=0) global entry1 entry1 = DateEntry(root, date_pattern="DD-MM-YYYY", state="readonly") entry1.grid(row=2, column=2) entry1.bind("<<DateEntrySelected>>", correction) lab = Label(root, text="Calculated Age", font=("Ariel", 40, "bold"), bg="green", padx=500) lab.grid(row=6, column=0, columnspan=10) lab1 = Label(root, text="Years", font=("Comic Sans MS", 30, "italic")) lab1.grid(row=8, column=1) yearsentry = Entry(root, textvar=yearsentryv) yearsentry.grid(row=9, column=1) lab2 = Label(root, text="Months", font=("Comic Sans MS", 30, "italic")) lab2.grid(row=8, column=3) monthsentry = Entry(root, textvar=monthsentryv) monthsentry.grid(row=9, column=3) lab3 = Label(root, text="Days", font=("Comic Sans MS", 30, "italic")) lab3.grid(row=8, column=5) daysentry = Entry(root, textvar=daysentryv) daysentry.grid(row=9, column=5)
def get_meal(): global cal, u user.withdraw() u = Toplevel() u.geometry('420x200') id = IntVar() Label(u, text = "Date").grid(row = 0, column = 0) cal = DateEntry(u) cal.grid(row = 1, column = 0) cal._top_cal.overrideredirect(False) cal.bind("<<DateEntrySelected>>", getdate) a = Radiobutton(u, text = "By Date", variable = id, value = 1) a.grid(row = 0, column = 1) a.select() all = Radiobutton(u, text = "Get All", variable = id, value = 0) all.grid(row = 1, column = 1) e = Radiobutton(u, text = "Expenditure", variable = id, value = 2) e.grid(row = 2, column = 1) md = partial(meal_date, id) Button(u, text = "go", command = md).grid(row = 3, column = 0) Button(u, text = "Back", command = back_selection).grid(row = 3, column = 1)
def select_date(window, command): date_screen = Toplevel(window) d_lbl = Label(date_screen, text="Select prefered date") d_lbl.grid(column=0, row=0) d_lbl2 = Label(date_screen, width=15, text="Click here") d_lbl2.grid(column=0, row=1) cal = DateEntry(date_screen, date_pattern='yyyy-mm-dd', width=12, background='darkblue', foreground='white', borderwidth=2) cal.grid(column=0, row=2) current_date = get_date() cal.set_date(current_date) d_btn1 = Button(date_screen, text="Set date", command=lambda: [set_date(cal, command, window), date_screen.destroy()]) d_btn1.grid(column=0, row=3)
def edit_task(task): task_id = int(re.match(r"{'id': (?P<id>\d+)", task).groupdict()['id']) with open('db.txt', 'r+') as file: all_tasks = json.load(file) selected = list(filter(lambda x: x['id'] == task_id, all_tasks))[0] clear_view(tk) Label(tk, text="Enter your task name: ").grid(row=0, column=0, padx=20, pady=20) name = Entry(tk) name.delete(0, END) name.insert(0, selected['name']) name.grid(row=0, column=1, padx=20, pady=20) Label(tk, text="Due date: ").grid(row=1, column=0, padx=20, pady=20) date = DateEntry(tk) date.delete(0, END) date.insert(0, selected['date']) date.grid(row=1, column=1, padx=20, pady=20) Label(tk, text="Description: ").grid(row=2, column=0, padx=20, pady=20) description = ScrolledText(tk, width=20, height=10) description.insert(INSERT, selected['description']) description.insert(END, "") description.grid(row=2, column=1, padx=20, pady=20) Label(tk, text=f"Select priority, current is {mapper[selected['priority']] if selected['priority'] else None}").grid(row=3, column=0, padx=20, pady=20) s = IntVar() rad1 = Radiobutton(tk, text='Low', value=1, variable=s) rad2 = Radiobutton(tk, text='Medium', value=2, variable=s) rad3 = Radiobutton(tk, text='High', value=3, variable=s) rad1.grid(column=1, row=3) rad2.grid(column=2, row=3) rad3.grid(column=3, row=3) Label(tk, text="Check if completed: ").grid(row=4, column=0, padx=20, pady=20) Label(tk, text="Check if completed: ").grid(row=4, column=0, padx=20, pady=20) chk_state = BooleanVar() chk_state.set(selected["is_completed"]) # set check state chk = Checkbutton(tk, text='Choose', var=chk_state) chk.grid(column=1, row=4) Button(tk, text="Edit task", bg="yellow", fg="black", command=lambda: triger_edit(tk, selected, all_tasks, [name.get(), date.get(), description.get("1.0", END), s.get(), chk_state.get()])).grid(row=5, column=0) Button(tk, text="Cancel", bg="black", fg="white", command=lambda: main_view(tk)).grid(row=5, column=1, padx=100, pady=100)
def draw_tasks(self, length, pos_x, pos_y, span_x, span_y): """ draws tasks in this format Task: goal(string) | checkbox(bool) | target date(date) :parameter: length: (integer) tells how any tasks to draw """ self.tasks = [] self.label_frame_tasks = tk.LabelFrame(text="Tasks") self.label_frame_tasks.grid(column=pos_x, row=pos_y, columnspan=span_x, rowspan=span_y, padx=10, pady=10) self.task_label = tk.Label(self.label_frame_tasks, text="Tasks") self.task_label.grid(column=0, row=0) self.done_label = tk.Label(self.label_frame_tasks, text="Done") self.done_label.grid(column=1, row=0) self.task_date_label = tk.Label(self.label_frame_tasks, text="Date") self.task_date_label.grid(column=2, row=0) self.task_date_must_label = tk.Label(self.label_frame_tasks, text="Must Date") self.task_date_must_label.grid(column=3, row=0) for i in range(0, length): entry = tk.Entry(self.label_frame_tasks, width="75") entry.grid(column=0, row=i + 1) check = tk.BooleanVar() check_button = tk.Checkbutton(self.label_frame_tasks, var=check) check_button.grid(column=1, row=i + 1) date = DateEntry(self.label_frame_tasks, width="25") date.grid(column=2, row=i + 1) date.configure(state="readonly") date_must = DateEntry(self.label_frame_tasks, width="25") date_must.grid(column=3, row=i + 1) date_must.configure(state="readonly") self.tasks.append([entry, check_button, date, check, date_must])
def addmeal(): global r, food, u, cal, category user.withdraw() u = Toplevel() u.geometry('400x200') Label(u, text = "Food Category").grid(row = 0, column = 0) category = ttk.Combobox(u, values=["Breakfast", "Lunch", "Dinner", "Late Night"], state = "readonly") category.grid(row = 1, column = 0) Label(u, text = "Restaurant").grid(row = 2, column = 0) r = ttk.Combobox(u, values=restaurants, state = "readonly") r.grid(row = 3, column = 0) r.bind("<<ComboboxSelected>>", foods) Label(u, text = "Foods").grid(row = 0, column = 1) food = ttk.Combobox(u, values = "Nothing", state = "readonly", postcommand=changeFoods) food.grid(row = 1, column = 1) Label(u, text = "Date").grid(row = 2, column = 1) cal = DateEntry(u) cal.grid(row = 3, column = 1) cal._top_cal.overrideredirect(False) cal.bind("<<DateEntrySelected>>", getdate) Button(u, text = "Add", command = addFoods).grid(row = 4, column = 0) Button(u, text = "Back", command = back_selection).grid(row = 4, column =1)
class DateSelection(object): logger = CustomAdapter(logging.getLogger(str(__name__)), None) # date_selection_dict = {} # noinspection PyUnusedLocal @debug(lvl=logging.DEBUG, prefix='') def __init__(self, parent, row, column, label_text, style=None, *args, **kwargs): self.parent = parent self.label_text = label_text self.row = row self.column = column self.style = style self.label = ttk.Label(self.parent, text=self.label_text, style=self.style) self.label.grid(row=self.row, column=self.column, sticky=tk.NW) self.value = None self.entry = DateEntry( self.parent, firstweekday="sunday", showweeknumbers=False ) # TODO: Apply some style to this date dropdown self.entry.grid(row=self.row, column=self.column + 1, sticky=tk.NE) self.entry.bind("<<DateEntrySelected>>", self.new_date) # DateSelection.date_selection_dict[label_text] = self # noinspection PyUnusedLocal @debug(lvl=logging.DEBUG, prefix='') def new_date(self, *args): DateSelection.logger.log( logging.DEBUG, "{} Selection: {}".format(self.label_text, self.entry.get_date())) self.value = self.entry.get_date()