mirror of
https://github.com/Xevion/tkinter-mini-projects.git
synced 2025-12-05 23:16:36 -06:00
66 lines
2.7 KiB
Python
66 lines
2.7 KiB
Python
import random, datetime
|
|
from tkinter import ttk
|
|
from tkinter import *
|
|
|
|
class Window(Frame):
|
|
def __init__(self, parent):
|
|
Frame.__init__(self, parent)
|
|
self.parent = parent
|
|
self.init_interface()
|
|
|
|
def init_interface(self):
|
|
# Window Configurations
|
|
self.parent.title("Window Title")
|
|
self.parent.config(background="lavender")
|
|
# self.parent.grid_rowconfigure(0, weight=1)
|
|
# self.parent.grid_columnconfigure(0, weight=1)
|
|
|
|
# Item Name Area
|
|
self.item_label = Label(self.parent, text="Name:", bg="lavender")
|
|
self.item_entry = Entry(self.parent)
|
|
self.item_label.grid(row=0, column=0, sticky=E, ipadx=2, ipady=2, padx=5, pady=5)
|
|
self.item_entry.grid(row=0, column=1, sticky=W, padx=5, pady=5)
|
|
|
|
# Doses Area
|
|
self.dose_label = Label(self.parent, text="Dose:", bg="lavender")
|
|
self.dose_entry = Entry(self.parent)
|
|
self.dose_label.grid(row=1, column=0, sticky=E, ipadx=2, ipady=2, padx=5, pady=5)
|
|
self.dose_entry.grid(row=1, column=1, sticky=W, padx=5, pady=5)
|
|
|
|
# Date Area
|
|
self.date_label = Label(self.parent, text="Date Modified:", bg="lavender")
|
|
self.date_entry = Entry(self.parent)
|
|
self.date_label.grid(row=2, column=0, sticky=E, padx=5, pady=5)
|
|
self.date_entry.grid(row=2, column=1, sticky=W, padx=5, pady=5)
|
|
|
|
# Button Area
|
|
self.submit_button = Button(self.parent, text="Insert", command=self.insert_data)
|
|
self.exit_button = Button(self.parent, text = "Exit", command=self.parent.quit)
|
|
self.submit_button.grid(row=1, column=2, rowspan=3, padx=5, pady=5, ipadx=15, ipady=15)
|
|
self.exit_button.grid(row=1, column=3, rowspan=3, padx=5, pady=5, ipadx=15, ipady=15)
|
|
|
|
# Tree View Setup
|
|
self.i = 0
|
|
self.tree = ttk.Treeview(self.parent, columns=('Dose', 'Modification Date'))
|
|
for index, string in enumerate(['Item', 'Dose', 'Modification Date']):
|
|
self.tree.heading('#{}'.format(index), text=string)
|
|
self.tree.column('#{}'.format(index), stretch=YES)
|
|
self.tree.grid(row=3, column=0, columnspan=4, padx=5, pady=(0, 5))
|
|
|
|
def insert_data(self):
|
|
# Require dose entry
|
|
time = datetime.datetime.now().strftime("%B %d, %Y %I:%M:%S %p")
|
|
if self.date_entry.get() != "": # If timestamp is provided
|
|
time = self.date_entry.get()
|
|
mg = "{} mg".format(self.dose_entry.get())
|
|
text = "Item_{}".format(self.i)
|
|
self.tree.insert('', 'end', text=text, values=(mg, time))
|
|
self.i += 1
|
|
|
|
def main():
|
|
root = Tk()
|
|
x = Window(root)
|
|
root.mainloop()
|
|
|
|
if __name__ == "__main__":
|
|
main() |