Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6c326e1

Browse files
Merge pull request avinashkranjan#892 from Amit366/Amit
Expense tracker
2 parents c6c1911 + 0e9d0c9 commit 6c326e1

File tree

2 files changed

+148
-0
lines changed

2 files changed

+148
-0
lines changed

‎Expense Tracker/Readme.md‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# <b>Expense Tracker</b>
2+
3+
[![forthebadge](https://forthebadge.com/images/badges/made-with-python.svg)](https://forthebadge.com)
4+
5+
## Expense Tracker Functionalities : 🚀
6+
7+
- This is used to store the daily expenses.
8+
- The daily expenses are stored in a format of date, items, and amount spent.
9+
- This also has a database which shows already stored expenses.
10+
11+
## Expense Tracker Instructions: 👨🏻‍💻
12+
13+
### Step 1:
14+
15+
Open Termnial 💻
16+
17+
### Step 2:
18+
19+
Locate to the directory where python file is located 📂
20+
21+
### Step 3:
22+
23+
Run the command: python script.py/python3 script.py 🧐
24+
25+
### Step 4:
26+
27+
Sit back and Relax. Let the Script do the Job. ☕
28+
29+
## Requirements
30+
31+
- tkinter
32+
- tkcalendar
33+
- sqlite3
34+
35+
## Author
36+
37+
Amit Kumar Mishra

‎Expense Tracker/script.py‎

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
from tkinter import ttk
2+
from tkinter import messagebox
3+
from tkinter import *
4+
from tkinter.ttk import Notebook
5+
from tkcalendar import DateEntry
6+
import sqlite3
7+
8+
9+
def Addexpense():
10+
x = Edate.get()
11+
y = Item.get()
12+
z = Eexpense.get()
13+
data = [x,y,z]
14+
15+
with db:
16+
c = db.cursor()
17+
c.execute("INSERT INTO expense(Dates, Items, Expense) VALUES(?,?,?)",(x,y,z))
18+
19+
20+
21+
def show():
22+
x = Edate.get()
23+
y = Item.get()
24+
z = Eexpense.get()
25+
data = [x,y,z]
26+
connt=sqlite3.connect('./Expense Tracker/expense.db')
27+
cursor=connt.cursor()
28+
cursor.execute("SELECT * FROM expense")
29+
for row in cursor.fetchall():
30+
TVExpense.insert('','end',values=row)
31+
32+
def delete():
33+
with db:
34+
dee = Delete.get()
35+
c = db.cursor()
36+
c.execute("DELETE FROM expense WHERE Items = ?", (dee,))
37+
db.commit()
38+
show()
39+
40+
db = sqlite3.connect('./Expense Tracker/expense.db')
41+
c = db.cursor()
42+
43+
c.execute("""CREATE TABLE IF NOT EXISTS expense(
44+
Dates varchar,
45+
Items varchar,
46+
Expense integer
47+
)""")
48+
db.commit()
49+
50+
gui = Tk()
51+
gui.title('Expense Tracker')
52+
gui.geometry('700x600')
53+
54+
55+
Tab = Notebook(gui)
56+
F1 = Frame(Tab, width=500, height=500)
57+
58+
Tab.add(F1, text="Expense")
59+
60+
61+
Tab.pack(fill=BOTH, expand=1)
62+
63+
ldate = ttk.Label(F1, text="Date", font=(None,18))
64+
ldate.grid(row=0, column=0, padx=5, pady=5, sticky='w')
65+
66+
Edate = DateEntry(F1, width=19, background = 'blue', foreground='white', font=(None,18))
67+
Edate.grid(row=0, column=1, padx=5,pady=5, sticky='w')
68+
69+
ltitle = ttk.Label(F1, text="Items",font=(None,18))
70+
ltitle.grid(row=1, column=0, padx=5, pady=5, sticky='w')
71+
72+
Item = StringVar()
73+
74+
Etitle = ttk.Entry(F1, textvariable=Item,font=(None,18))
75+
Etitle.grid(row=1, column=1, padx=5, pady=5, sticky='w')
76+
77+
lexpense = ttk.Label(F1, text="Expense",font=(None,18))
78+
lexpense.grid(row=2, column=0, padx=5, pady=5, sticky='w')
79+
80+
Expense = StringVar()
81+
82+
Eexpense = ttk.Entry(F1, textvariable=Expense,font=(None,18))
83+
Eexpense.grid(row=2, column=1, padx=5, pady=5, sticky='w')
84+
85+
btn = ttk.Button(F1,text='Add', command=Addexpense)
86+
btn.grid(row=3, column=1, padx=5, pady=5, sticky='w', ipadx=10, ipady=10)
87+
88+
89+
Ldel = ttk.Label(F1, text='Delete',font=(None,18))
90+
Ldel.grid(row=4, column=0, padx=5, pady=5, sticky='w')
91+
Delete = StringVar()
92+
93+
dell = ttk.Entry(F1, textvariable=Delete,font=(None,18))
94+
dell.grid(row=4, column=1, padx=5, pady=5, sticky='w')
95+
96+
btn2 = ttk.Button(F1,text='Delete', command=delete)
97+
btn2.grid(row=5, column=1, padx=5, pady=5, sticky='w', ipadx=10, ipady=10)
98+
99+
btn1 = ttk.Button(F1,text='Show', command=show)
100+
btn1.grid(row=3, column=2, padx=5, pady=5, sticky='w', ipadx=10, ipady=10)
101+
102+
TVList = ['Date','Item','Expense']
103+
TVExpense = ttk.Treeview(F1, column=TVList, show='headings', height=5)
104+
105+
for i in TVList:
106+
TVExpense.heading(i, text=i.title())
107+
108+
TVExpense.grid(row=6, column=0, padx=5, pady=5, sticky='w', columnspan=3)
109+
110+
gui.mainloop()
111+
db.close()

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /