Diff of /GUI.py [000000] .. [effa3c]

Switch to side-by-side view

--- a
+++ b/GUI.py
@@ -0,0 +1,150 @@
+from tkinter import *
+import tkinter.font as tkFont
+from tkinter import ttk
+
+with open("D:\Cancer_Project\Team8_Cancer_ML\project_variables.txt","r") as projectVars:
+    vars=projectVars.readlines()
+
+window = Tk()
+
+window.title("Cancer ML")
+
+window.iconbitmap("D:\Cancer_Project\Team8_Cancer_ML\cancer_icon.ico")
+
+main_frame = Frame(window)
+main_frame.pack(fill=BOTH,expand=1)
+
+canvas = Canvas(main_frame)
+canvas.pack(side=LEFT, fill=BOTH, expand=1)
+
+# Add scrollbars to the canvas
+scrollbar = ttk.Scrollbar(main_frame, orient=VERTICAL, command=canvas.yview)
+scrollbar.pack(side=RIGHT, fill=Y)
+
+scrollbar_x = ttk.Scrollbar(main_frame,orient=HORIZONTAL, command=canvas.xview)
+scrollbar_x.pack(side=BOTTOM, fill=X)
+
+# Configure the canvas
+canvas.configure(xscrollcommand=scrollbar_x.set)
+canvas.configure(yscrollcommand=scrollbar.set)
+canvas.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
+
+second_frame = Frame(canvas)
+canvas.create_window((0,0), window=second_frame, anchor="nw")
+
+# get screen dimensions
+screenHeight = second_frame.winfo_screenheight()
+screenWidth = second_frame.winfo_screenwidth()
+
+# make font for title
+fontTitle = tkFont.Font(family="Georgia",size=20)
+
+# make font for variable labels
+varFont = tkFont.Font(family="Times New Roman",size=16)
+
+# color for variable labels
+varColor = "#262121"
+
+# make font for entry boxes
+inputFont = tkFont.Font(family="Georgia",size=12)
+
+# make title
+title = Label(second_frame,text="Data Page",font=fontTitle)
+title.grid(column=1)
+
+# initalize vars
+boolList = []
+
+def true():
+    global boolList
+
+    bool = True
+    boolList.append(bool)
+
+def false():
+    global boolList
+
+    bool = False
+    boolList.append(bool)
+
+def makeButton(name):
+    label = Label(second_frame,text=name,font=varFont,fg=varColor)
+    label.grid(column=1,pady=40)
+
+    button = Button(second_frame,text="True",width=25,height=3,font=inputFont,command=true,activebackground='orange')
+    button.grid(column=1)
+
+    button = Button(second_frame,text="False",width=25,height=3,font=inputFont,command=false,activebackground='orange')
+    button.grid(column=1)
+
+def makeEntry(name):
+    entryText = StringVar()
+
+    label = Label(second_frame,text=name,font=varFont,fg=varColor)
+    label.grid(column=1,pady=40)
+
+    entry = Entry(second_frame,textvariable=entryText,font=inputFont,width=25)
+    entry.grid(column=1)
+    return entryText
+
+# initialize list for entryText vars
+entryText_list = []
+
+# initialize lists for var names
+varList_txt = []
+varList_bool = []
+
+for var in vars:
+    var = str(var)
+    # checking if variable is a string
+    i = var.find('"')
+
+    # check if string contains tuple
+    t = var.find("(")
+    t2 = var.find(")")
+
+    # check if string contains numbers
+    n = any(char.isdigit() for char in var)
+
+    # Only use part of variable before equal sign
+    var = var.rsplit('=', 1)[0]
+
+    if i == -1 and t == -1 and t2 == -1 and n == False:
+        makeButton(var[:-1])
+        varList_bool.append(var)
+    else:
+        entryText = makeEntry(var[:-1])
+        entryText_list.append(entryText)
+        varList_txt.append(var)
+
+# make new list for converted tkinter objects
+txtEntry_list = []
+
+def Continue():
+    global txtEntry_list
+
+    for entries in entryText_list:
+        txtEntry = entries.get()
+        entries.set("")
+        txtEntry_list.append(txtEntry)
+
+    window.quit()
+
+# initialize bool
+useDefaults = False
+
+def useDefault():
+    global useDefaults
+
+    useDefaults = True
+    window.quit()
+
+# make default button
+defaultButton = Button(second_frame,text="Use Defaults",bg="orange",command=useDefault,font=varFont)
+defaultButton.grid(column=2,padx=screenWidth/1.4)
+
+# make continue button
+contButton = Button(second_frame,text="Continue",bg="orange",command=Continue,font=varFont)
+contButton.grid(column=2,padx=screenWidth/1.4)
+
+window.mainloop()
\ No newline at end of file