Amazing-Python-Scripts

Форк
0
114 строк · 2.9 Кб
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(
18
            "INSERT INTO expense(Dates, Items, Expense) VALUES(?,?,?)", (x, y, z))
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

33
def delete():
34
    with db:
35
        dee = Delete.get()
36
        c = db.cursor()
37
        c.execute("DELETE FROM expense WHERE Items = ?", (dee,))
38
        db.commit()
39
        show()
40

41

42
db = sqlite3.connect('./Expense Tracker/expense.db')
43
c = db.cursor()
44

45
c.execute("""CREATE TABLE IF NOT EXISTS expense(
46
    Dates varchar,
47
    Items varchar,
48
    Expense integer
49
)""")
50
db.commit()
51

52
gui = Tk()
53
gui.title('Expense Tracker')
54
gui.geometry('700x600')
55

56

57
Tab = Notebook(gui)
58
F1 = Frame(Tab, width=500, height=500)
59

60
Tab.add(F1, text="Expense")
61

62

63
Tab.pack(fill=BOTH, expand=1)
64

65
ldate = ttk.Label(F1, text="Date", font=(None, 18))
66
ldate.grid(row=0, column=0, padx=5, pady=5, sticky='w')
67

68
Edate = DateEntry(F1, width=19, background='blue',
69
                  foreground='white', font=(None, 18))
70
Edate.grid(row=0, column=1, padx=5, pady=5, sticky='w')
71

72
ltitle = ttk.Label(F1, text="Items", font=(None, 18))
73
ltitle.grid(row=1, column=0, padx=5, pady=5, sticky='w')
74

75
Item = StringVar()
76

77
Etitle = ttk.Entry(F1, textvariable=Item, font=(None, 18))
78
Etitle.grid(row=1, column=1, padx=5, pady=5, sticky='w')
79

80
lexpense = ttk.Label(F1, text="Expense", font=(None, 18))
81
lexpense.grid(row=2, column=0, padx=5, pady=5, sticky='w')
82

83
Expense = StringVar()
84

85
Eexpense = ttk.Entry(F1, textvariable=Expense, font=(None, 18))
86
Eexpense.grid(row=2, column=1, padx=5, pady=5, sticky='w')
87

88
btn = ttk.Button(F1, text='Add', command=Addexpense)
89
btn.grid(row=3, column=1, padx=5, pady=5, sticky='w', ipadx=10, ipady=10)
90

91

92
Ldel = ttk.Label(F1, text='Delete', font=(None, 18))
93
Ldel.grid(row=4, column=0, padx=5, pady=5, sticky='w')
94
Delete = StringVar()
95

96
dell = ttk.Entry(F1, textvariable=Delete, font=(None, 18))
97
dell.grid(row=4, column=1, padx=5, pady=5, sticky='w')
98

99
btn2 = ttk.Button(F1, text='Delete', command=delete)
100
btn2.grid(row=5, column=1, padx=5, pady=5, sticky='w', ipadx=10, ipady=10)
101

102
btn1 = ttk.Button(F1, text='Show', command=show)
103
btn1.grid(row=3, column=2, padx=5, pady=5, sticky='w', ipadx=10, ipady=10)
104

105
TVList = ['Date', 'Item', 'Expense']
106
TVExpense = ttk.Treeview(F1, column=TVList, show='headings', height=5)
107

108
for i in TVList:
109
    TVExpense.heading(i, text=i.title())
110

111
TVExpense.grid(row=6, column=0, padx=5, pady=5, sticky='w', columnspan=3)
112

113
gui.mainloop()
114
db.close()
115

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.