Skip to content

Commit 43207e1

Browse files
committed
Update main.py
Creates a new 'App' class that creates and runs the calculator app.
1 parent 67811c8 commit 43207e1

File tree

1 file changed

+28
-16
lines changed

1 file changed

+28
-16
lines changed

calculator/main.py

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,33 @@
22
from gui import button, display
33
from api import calculator as calc
44

5-
if __name__ == "__main__":
6-
c = calc.Calculator()
7-
main = tk.Tk()
8-
main.title("Calculator")
9-
10-
calc_display = display.CalculatorDisplay(c)
11-
calc_display.create_gui(main)
12-
calc_display.frame.pack(fill=tk.BOTH,expand=True,side=tk.TOP,padx=10,pady=(10,0))
5+
class App:
6+
def __init__(self):
7+
self.calculator = calc.Calculator()
8+
self.window = tk.Tk()
9+
self.display = None
10+
self.buttons = None
11+
12+
def create_gui(self):
13+
self.window.title("Calculator")
1314

14-
calc_buttons = button.CalculatorButtons(c)
15-
calc_buttons.create_gui(main)
16-
calc_buttons.frame.pack(fill=tk.BOTH,expand=True,side=tk.BOTTOM,padx=10,pady=(0,10))
15+
self.display = display.CalculatorDisplay(self.calculator)
16+
self.buttons = button.CalculatorButtons(self.calculator)
17+
18+
self.display.frame.pack(fill=tk.BOTH,expand=True,side=tk.TOP,padx=10,pady=(10,0))
19+
self.buttons.frame.pack(fill=tk.BOTH,expand=True,side=tk.BOTTOM,padx=10,pady=(0,10))
20+
21+
def update(self):
22+
self.buttons.update()
23+
self.display.update()
24+
self.window.update_idletasks()
25+
self.window.update()
1726

18-
while True:
19-
calc_buttons.update()
20-
calc_display.update()
21-
main.update_idletasks()
22-
main.update()
27+
def run(self):
28+
while True:
29+
self.update()
30+
31+
32+
if __name__ == "__main__":
33+
my_app = App()
34+
my_app.run()

0 commit comments

Comments
 (0)