MCPcopy Create free account
hub / github.com/Mrinank-Bhowmick/python-beginner-projects / __init__

Method __init__

projects/Expense-Tracker/app.py:20–196  ·  view source on GitHub ↗
(self, db_path, *args, **kwargs)

Source from the content-addressed store, hash-verified

18 """
19
20 def __init__(self, db_path, *args, **kwargs):
21 super().__init__(*args, **kwargs)
22
23 # Configure Main Window
24 self.title("Expense Tracker")
25 self.geometry("1500x730")
26
27 # Configure Layout
28 self.grid_rowconfigure((0, 1, 2, 3), weight=2)
29 self.grid_rowconfigure(3, weight=1)
30 self.grid_columnconfigure((0, 1, 2), weight=1)
31
32 # ==============================================================================================================
33
34 # Table for the Expense Items
35 self._items_db = ItemsDB(db_path)
36 self.items_table = ItemsTable(self, self._items_db)
37 self.items_table.grid(
38 row=0, column=0, padx=5, pady=5, columnspan=3, sticky="nswe"
39 )
40 self.items_table.bind("<ButtonRelease-1>", self.on_row_selected)
41
42 # ==============================================================================================================
43 # Settings Tab
44 # Unfortunately, Customtkinter does not support menu bar
45 self.tab_view_settings = ctk.CTkTabview(self)
46 self.tab_view_settings.grid(row=1, column=0, padx=5, pady=5, sticky="nswe")
47
48 # Edit Tab
49 self.tab_view_settings.add("Edit")
50
51 button = ctk.CTkButton(
52 self.tab_view_settings.tab("Edit"),
53 text="Deselect Table",
54 command=lambda: self.items_table.deselect(),
55 )
56 button.pack(pady=5)
57
58 button = ctk.CTkButton(
59 self.tab_view_settings.tab("Edit"),
60 text="Update Summaries",
61 command=self.update_pivot_tables,
62 )
63 button.pack(pady=5)
64
65 # Report Tab
66 self.tab_view_settings.add("Report")
67
68 self.btn_generate_excel_report = ctk.CTkButton(
69 self.tab_view_settings.tab("Report"),
70 text="Generate Excel Report",
71 command=self.generate_excel_report,
72 )
73 self.btn_generate_excel_report.pack(pady=5)
74
75 self.btn_generate_pdf_report = ctk.CTkButton(
76 self.tab_view_settings.tab("Report"),
77 text="Generate PDF Report",

Callers

nothing calls this directly

Calls 5

ItemsDBClass · 0.90
ItemsTableClass · 0.90
titleMethod · 0.80
deselectMethod · 0.45

Tested by

no test coverage detected