# ========================================================= # my dashboard # ========================================================= # --------------------------------------------------------- # import # --------------------------------------------------------- import sys if sys.version_info.major is 3: from tkinter import * py3 = True else: from Tkinter import * py3 = False # --------------------------------------------------------- # global variables # --------------------------------------------------------- buttonFont = ('arial', '15', 'bold') statusFont = ('arial', '15', 'normal') textFont = ('arial', '15', 'normal') titleFont = ('arial', '15', 'bold') statusBg = 'white' # --------------------------------------------------------- # functions # --------------------------------------------------------- # --- exit program function ------------------------------- def quit(): sys.exit() # --- update status values in dashboard ------------------- def updateStatus(): pass # --- create status display (one per status item) --------- def statusDisplay(fs, r, text): l1 = Label(fs, text=text, font=statusFont, padx=8, pady=4, relief='groove', borderwidth=2, anchor='e', bg=statusBg) l1.grid(row=r, column=0, sticky=E+W) l2 = Label(fs, text='status goes here', font=statusFont, padx=8, pady=4, relief='groove', borderwidth=2, anchor='w', bg=statusBg) l2.grid(row=r, column=1, sticky=E+W) return l2 # --- create dashboard ------------------------------------ def dashBoard(root): # --- root frame to hold everything f = Frame(root) f.grid(row=0,column=0) # --- dashboard title l1 = Label(f, text='Dashboard', font=titleFont) l1.grid(row=0, column=0, sticky=N+E+W) # -- status displays fs = Frame(f) fs.grid(row=1, column=0) statusDisplay(fs, 0, 'Great status display') statusDisplay(fs, 1, 'Even Greater status display') statusDisplay(fs, 2, 'status display') # --- quit button fq = Frame(f) fq.grid(row=2, column=0) bq = Button(fq, text='Quit', font=buttonFont, command=quit) bq.grid(row=0, column=0) bu = Button(fq, text='Update Status', font=buttonFont, command=updateStatus) bu.grid(row=0, column=1) # --------------------------------------------------------- # main # --------------------------------------------------------- if __name__ == '__main__': root = Tk() root.title('Dashboard') dashBoard(root) root.mainloop()