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