|
1 | 1 | from tkinter import *
|
2 | 2 |
|
3 |
| -# Function for finding GST rate |
4 |
| - |
5 |
| - |
| 3 | +# Function for finding CGST, SGST, and Total GST rates |
6 | 4 | def GST_Calc():
|
7 |
| - |
8 |
| - gst_percentField.delete(0, END) |
9 |
| - |
| 5 | + cgst_percentField.delete(0, END) |
| 6 | + sgst_percentField.delete(0, END) |
| 7 | + total_gstField.delete(0, END) |
| 8 | + |
10 | 9 | org_cost = int(original_priceField.get())
|
11 |
| - |
12 | 10 | N_price = int(net_priceField.get())
|
13 |
| - |
14 |
| - gst_rate = ((N_price - org_cost) * 100) / org_cost |
15 |
| - |
16 |
| - gst_percentField.insert(10, str(gst_rate) + " % ") |
17 |
| - |
| 11 | + total_gst_rate = ((N_price - org_cost) * 100) / org_cost |
| 12 | + cgst_rate = total_gst_rate / 2 |
| 13 | + sgst_rate = total_gst_rate / 2 |
| 14 | + |
| 15 | + cgst_percentField.insert(10, str(cgst_rate) + " % ") |
| 16 | + sgst_percentField.insert(10, str(sgst_rate) + " % ") |
| 17 | + |
| 18 | + total_gst = (N_price - org_cost) |
| 19 | + total_gstField.insert(10, f"₹ {total_gst:.2f}") |
18 | 20 |
|
19 | 21 | def clearAll():
|
20 |
| - |
21 | 22 | original_priceField.delete(0, END)
|
22 |
| - |
23 | 23 | net_priceField.delete(0, END)
|
24 |
| - |
25 |
| - gst_percentField.delete(0, END) |
26 |
| - |
| 24 | + cgst_percentField.delete(0, END) |
| 25 | + sgst_percentField.delete(0, END) |
| 26 | + total_gstField.delete(0, END) |
27 | 27 |
|
28 | 28 | # Driver Code
|
29 | 29 | if __name__ == "__main__":
|
30 |
| - |
31 | 30 | gui = Tk()
|
32 |
| - |
33 | 31 | gui.configure(background="light blue")
|
34 |
| - |
35 | 32 | gui.title("GST Calculator")
|
| 33 | + gui.geometry("500x300") |
| 34 | + |
| 35 | + label_font = ('Arial', 14) |
| 36 | + entry_font = ('Arial', 12) |
| 37 | + button_font = ('Arial', 12, 'bold') |
36 | 38 |
|
37 |
| - gui.geometry("500x500") |
| 39 | + original_price = Label(gui, text="Original Price:", font=label_font) |
| 40 | + original_price.grid(row=1, column=0, padx=10, pady=10, sticky='w') |
38 | 41 |
|
39 |
| - original_price = Label(gui, text="Original Price", |
40 |
| - font=(None, 18)) |
| 42 | + original_priceField = Entry(gui, font=entry_font) |
| 43 | + original_priceField.grid(row=1, column=1, padx=10, pady=10, sticky='w') |
41 | 44 |
|
42 |
| - original_price.grid(row=1, column=1, padx=10, pady=10, sticky='w') |
| 45 | + net_price = Label(gui, text="Net Price:", font=label_font) |
| 46 | + net_price.grid(row=2, column=0, padx=10, pady=10, sticky='w') |
43 | 47 |
|
44 |
| - original_priceField = Entry(gui) |
| 48 | + net_priceField = Entry(gui, font=entry_font) |
| 49 | + net_priceField.grid(row=2, column=1, padx=10, pady=10, sticky='w') |
45 | 50 |
|
46 |
| - original_priceField.grid(row=1, column=2, padx=10, pady=10, sticky='w') |
| 51 | + find = Button(gui, text="Calculate GST", fg="black", bg="light yellow", font=button_font, command=GST_Calc) |
| 52 | + find.grid(row=3, column=1, padx=10, pady=10, sticky='w') |
47 | 53 |
|
48 |
| - net_price = Label(gui, text="Net Price", |
49 |
| - font=(None, 18)) |
| 54 | + cgst_percent = Label(gui, text="CGST Rate:", font=label_font) |
| 55 | + cgst_percent.grid(row=4, column=0, padx=10, pady=10, sticky='w') |
50 | 56 |
|
51 |
| - net_price.grid(row=2, column=1, padx=10, pady=10, sticky='w') |
52 |
| - net_priceField = Entry(gui) |
53 |
| - net_priceField.grid(row=2, column=2, padx=10, pady=10, sticky='w') |
| 57 | + cgst_percentField = Entry(gui, font=entry_font) |
| 58 | + cgst_percentField.grid(row=4, column=1, padx=10, pady=10, sticky='w') |
54 | 59 |
|
55 |
| - find = Button(gui, text="Find", fg="Black", |
56 |
| - bg="light yellow", |
57 |
| - command=GST_Calc) |
58 |
| - find.grid(row=3, column=2, padx=10, pady=10, sticky='w') |
| 60 | + sgst_percent = Label(gui, text="SGST Rate:", font=label_font) |
| 61 | + sgst_percent.grid(row=5, column=0, padx=10, pady=10, sticky='w') |
59 | 62 |
|
60 |
| - gst_percent = Label(gui, text="Gst Rate", font=(None, 18)) |
61 |
| - gst_percent.grid(row=4, column=1, padx=10, pady=10, sticky='w') |
62 |
| - gst_percentField = Entry(gui) |
| 63 | + sgst_percentField = Entry(gui, font=entry_font) |
| 64 | + sgst_percentField.grid(row=5, column=1, padx=10, pady=10, sticky='w') |
63 | 65 |
|
64 |
| - gst_percentField.grid(row=4, column=2, padx=10, pady=10, sticky='w') |
| 66 | + total_gst_label = Label(gui, text="Total GST Amount:", font=label_font) |
| 67 | + total_gst_label.grid(row=6, column=0, padx=10, pady=10, sticky='w') |
65 | 68 |
|
66 |
| - clear = Button(gui, text="Clear", fg="Black", |
67 |
| - bg="light yellow", |
68 |
| - command=clearAll) |
| 69 | + total_gstField = Entry(gui, font=entry_font) |
| 70 | + total_gstField.grid(row=6, column=1, padx=10, pady=10, sticky='w') |
69 | 71 |
|
70 |
| - clear.grid(row=5, column=2, padx=10, pady=10, sticky='w') |
| 72 | + clear = Button(gui, text="Clear All", fg="black", bg="light yellow", font=button_font, command=clearAll) |
| 73 | + clear.grid(row=7, column=1, padx=10, pady=10, sticky='w') |
71 | 74 |
|
72 | 75 | # Start the GUI
|
73 | 76 | gui.mainloop()
|
0 commit comments