-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalculator.py
More file actions
63 lines (47 loc) · 2.24 KB
/
calculator.py
File metadata and controls
63 lines (47 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import customtkinter as ctk
def main():
app = ctk.CTk()
app.geometry("400x550")
app.title("Calculator")
app.resizable(width=True, height=True)
app._set_appearance_mode("dark")
basic_calculator(app)
app.mainloop()
def basic_calculator(app):
menu_frame = ctk.CTkFrame(app, width=400, height=50, fg_color="transparent")
menu_frame.pack(side="top", anchor="n", expand=True, fill="both")
input_frame = ctk.CTkFrame(app, width=400, height=100, fg_color="transparent")
input_frame.pack(anchor="center", expand=True, fill="both")
entry = ctk.CTkEntry(input_frame, width=400, height=100, fg_color="transparent", border_width=2, text_color="white", font=("", 30))
entry.pack(expand=True, fill="both")
buttons_frame = ctk.CTkFrame(app, width=400, height=400, fg_color="transparent")
buttons_frame.pack(side="bottom", anchor="s", expand=True, fill="both")
menu_btn = ctk.CTkButton(menu_frame, text="☰", text_color="white", width=30, fg_color="transparent", hover_color="black")
menu_btn.pack(side="left", pady=2)
mode_lb = ctk.CTkLabel(menu_frame, text="Calculator", text_color="white", font=("Nunito Medium", 20))
mode_lb.pack(side="left", pady=2)
buttons = [
["C", "⌫", "%", "÷"],
["7", "8", "9", "×"],
["4", "5", "6", "–"],
["1", "2", "3", "+"],
["+/-", "0", "·", "="]
]
for i in range(len(buttons)):
buttons_frame.grid_rowconfigure(i, weight=1) # Allow rows to expand
for j in range(len(buttons[0])):
buttons_frame.grid_columnconfigure(j, weight=1)
for row_index, row in enumerate(buttons):
for column_index, text in enumerate(row):
if row_index == 0 or column_index == 3:
button_color = "#2F2F2F"
hover_color = "#3A3A3A"
else:
button_color = "#4A4A4A"
hover_color = "#545454"
button = ctk.CTkButton(buttons_frame, width=95, height=75, fg_color=button_color, text=text, hover_color=hover_color, text_color="white", font=("", 30), command=lambda: button_click())
button.grid(row=row_index, column=column_index, pady=2, padx=2)
def button_click():
pass
if __name__ == "__main__":
main()