From b63bcb0379ef563f58f8c1471deb1957d8c1d87b Mon Sep 17 00:00:00 2001 From: Martin Zietz Date: Wed, 20 Jan 2021 15:20:42 +0100 Subject: [PATCH] Basic GUI framework --- .gitignore | 1 + User_Interface.py | 45 ++++++++++++++++++++++----- __pycache__/cage_func.cpython-37.pyc | Bin 4056 -> 0 bytes __pycache__/globals.cpython-37.pyc | Bin 196 -> 0 bytes globals.py | 2 +- main.py | 3 +- 6 files changed, 40 insertions(+), 11 deletions(-) delete mode 100644 __pycache__/cage_func.cpython-37.pyc delete mode 100644 __pycache__/globals.cpython-37.pyc diff --git a/.gitignore b/.gitignore index 6609df1..51044e5 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,4 @@ ENV/ # VScode .vscode/ +*.pyc diff --git a/User_Interface.py b/User_Interface.py index 79426a2..d95d3f1 100644 --- a/User_Interface.py +++ b/User_Interface.py @@ -1,11 +1,41 @@ from tkinter import * -class EmptyFrame: +class HelmholtzGUI(Tk): - def __init__(self, window): - frame = Frame(window, width=1000, height=600) - frame.pack() + def __init__(self): + Tk.__init__(self) + + self.Menu = TopMenu(self) # displays menu bar at the top + + mainArea = Frame(self) + mainArea.pack(fill="both", expand=True) + + # mainArea.grid_rowconfigure(0, weight=1) + # mainArea.grid_columnconfigure(0, weight=1) + + self.frames = {} # dictionary for storing all pages + + frame = EmptyFrame(mainArea) + + self.frames[EmptyFrame] = frame + + # frame.grid(row=0, column=0, sticky="nsew") + + self.show_frame(EmptyFrame) + + def show_frame(self, key): + frame = self.frames[key] # gets correct page from the dictionary + frame.tkraise() # brings this frame to the front + + +class EmptyFrame(Frame): + + def __init__(self, parent): + Frame.__init__(self, parent) + + frame = Frame(parent, width=1000, height=600) + frame.pack(padx=50, pady=50) one = Label(frame, text="One", bg="red") one.pack(fill=X) @@ -21,8 +51,7 @@ class TopMenu: ModeSelector = Menu(menu) menu.add_cascade(label="Mode", menu=ModeSelector) - ModeSelector.add_command(label="Full Manual", command=self.manual_mode(window)) + ModeSelector.add_command(label="Full Manual", command=self.manual_mode) - def manual_mode(self, window): - print("Switching to manual mode") - window.delete(ALL) + def manual_mode(self): + print("Switching to manual mode") \ No newline at end of file diff --git a/__pycache__/cage_func.cpython-37.pyc b/__pycache__/cage_func.cpython-37.pyc deleted file mode 100644 index f1aaeae70ca7c063982edd88d5ba17664faa1f9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4056 zcmbtX%X8dF8P{8yhaX9tcd{$8o4_ntR}wg+vJiISc*#`7<5b4vp)xhd(;8dJSToz| z@j5O|6-AaKRa~JsINbOPxbR1C?&8KNCyHxM{Jxe(o&*C2q*8zVecfvP`s?qddvkMD z4cDJH|Ixj9Qq%rU%=9wR`4Uh1M>I@h`as*&16`-SF)#vCQ7f<%wF8@(%=%Uf9A+~I z)MYO7Ks{DrRnQ8nu{vm#&9QmV8e3qCpmlbFodlg@r`QtcJUh+KfG)7J>>TJKJI^kF zo?sW*CD4=XGW!Vh6#EYQnEBu8!4fk%TI0%F;M5wrbRTtY-MDe%Ub{zv>1Cm_f+yWV zBeX+J=r4>ny3o63!C8v4AvYQ1FC3j`%p) z#?0*`68&hvM3jnDgbCa1h1*fLKTdkfqgS$)Mxx82y|@>pE%< zk^M^r{F5KTF992EP70YGE&=7IsX0qhos&^~2&tZieVl2I=wnPM&b6-d3*dT$gDw*f zS&LHVZFER^=e3DWY6CR{d@s`v^$Z>jY82EY+BeT=uT|JO@=8uC9xPo=ulrYTEZ^$; zPo|w_!;#c7%xoKgEC5q zRY>v?nq!ls2u%m>v(KA=c;~=f~a-MrOR-%u^G42})PMK3h0z$-L}sdXT3&*o5nR;t#B0F z@_&zLLgu`ghR#|Zh>q0zmW=A)b}QKn2Ql*t)AhlPqh)`C#}Ug@O!Kvl2ik(IDZMd9bwzSng^H57MGH{U0AH_*fA#-abEZPsMSoBGrCO_~D zPQfg|lU_lS=RL}OC-Ha)E$7fK(qj<4rmOj-;Ze0nA#(*!`d2iR5i{ip>QIpl>5qij zzp-G9sJPx}6H{1ZVlYN)Vl!*v;2np&egBu4BkT-8{iVkLlF!O4L^e;Lv>#o{H|~*SZD6U z{`&4yLSLmfgjc4NTKiz`aTKyR+4jGR2hp8(`WNr?>v<|PrI|(}>9VL7?}h{E>|kcZ z4^DT4`UlwdSNEgdm`-|md083kTZ#t((B_hqfqPwo~j`51!<8?+9BuRtH2Q|R|mG}@~AKMSn49Ea47b8T z?sWW1%;l5{)nAbM3E?W6QW>46RI1+cy^?XO4RcDAoKjM*3CbVJrq#D+oI@oLl{>s2 j?GD*^5ZxtM>8EJw3aw{)o@e8B@VH(DkE0|G=;?m}M;S(* diff --git a/__pycache__/globals.cpython-37.pyc b/__pycache__/globals.cpython-37.pyc deleted file mode 100644 index 18c683c11c6b4f3006357e76a9b27b6d69b511cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmZ?b<>g`kf<-*<