- Katılım
- 7 Haz 2024
- Mesajlar
- 1,135
- Beğeniler
- 402
- Yaş
- 20
- İletişim
Merhaba Ben Rhanta
Bu Gün Size Kendim Kodlamış Olduğum Kişisel Finans Hesaplama Uygulamasını Göstericem
Biliyorum Boş Konu Ama Forumda Daha Önce Eşi Benzeri Paylaşılmamış Konuları Paylaşmak İstiyorum
O Yüzden Paylaşıyorum Sizlerde Daha Çok Konu Paylaşmamı İsterseniz Konumu Beğenebilirsiniz
Öncelikle Burdan @BlackPlague Ye Selam Olsun
Uygulamayı Sizler Geliştirebilirsiniz Yok Çaldınız , Hırsızsınız , Kod Benim Gibi Telafuzlar Kullanmam
Çünkü Halka Açık Paylaşıyorum iyi Kullanmalar.
Uygulamayı Kullanmanız İçin İndirmeniz Gereken Kütüphaneler : matplotlib , pandas
Kütüphaneleri Tek Seferde Kurmak İçin Kod : pip install matplotlib pandas
Kullanımı : Öncelikle Uygulamayı Açın Önce Gelirlerinizi Yazın Kategori ve Kazancınızı
Ardından Yukardaki Gider Bölümünden Giderlerinizi Yazın Sonra Aşağıdan Hesaplaya Basın
Daha Sonrasında Otomatik Hesaplicak Sizin Yerinize
Uygulamaya Ait Fotoğraf :
Bu Gün Size Kendim Kodlamış Olduğum Kişisel Finans Hesaplama Uygulamasını Göstericem
Biliyorum Boş Konu Ama Forumda Daha Önce Eşi Benzeri Paylaşılmamış Konuları Paylaşmak İstiyorum
O Yüzden Paylaşıyorum Sizlerde Daha Çok Konu Paylaşmamı İsterseniz Konumu Beğenebilirsiniz
Öncelikle Burdan @BlackPlague Ye Selam Olsun
Uygulamayı Sizler Geliştirebilirsiniz Yok Çaldınız , Hırsızsınız , Kod Benim Gibi Telafuzlar Kullanmam
Çünkü Halka Açık Paylaşıyorum iyi Kullanmalar.
Uygulamayı Kullanmanız İçin İndirmeniz Gereken Kütüphaneler : matplotlib , pandas
Kütüphaneleri Tek Seferde Kurmak İçin Kod : pip install matplotlib pandas
Kullanımı : Öncelikle Uygulamayı Açın Önce Gelirlerinizi Yazın Kategori ve Kazancınızı
Ardından Yukardaki Gider Bölümünden Giderlerinizi Yazın Sonra Aşağıdan Hesaplaya Basın
Daha Sonrasında Otomatik Hesaplicak Sizin Yerinize
Uygulamaya Ait Fotoğraf :
Python:
import tkinter as tk
from tkinter import messagebox, ttk
import sqlite3
import pandas as pd
import matplotlib.pyplot as plt
def create_database():
conn = sqlite3.connect('finance.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS transactions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
type TEXT,
category TEXT,
amount REAL,
description TEXT
)
''')
conn.commit()
conn.close()
create_database()
def add_transaction():
type = transaction_type.get()
category = category_entry.get()
amount = amount_entry.get()
description = description_entry.get()
if not amount:
messagebox.showwarning("Girdi Hatası", "Lütfen bir miktar girin.")
return
try:
amount = float(amount)
except ValueError:
messagebox.showwarning("Girdi Hatası", "Lütfen geçerli bir miktar girin.")
return
conn = sqlite3.connect('finance.db')
cursor = conn.cursor()
cursor.execute('INSERT INTO transactions (type, category, amount, description) VALUES (?, ?, ?, ?)',
(type, category, amount, description))
conn.commit()
conn.close()
amount_entry.delete(0, tk.END)
description_entry.delete(0, tk.END)
category_entry.delete(0, tk.END)
update_transaction_list()
update_budget()
def update_transaction_list():
for widget in transaction_list_frame.winfo_children():
widget.destroy()
conn = sqlite3.connect('finance.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM transactions')
transactions = cursor.fetchall()
conn.close()
for transaction in transactions:
transaction_label = tk.Label(transaction_list_frame,
text=f"{transaction[1]} | Kategori: {transaction[2]} | Miktar: {transaction[3]} TL | Açıklama: {transaction[4]}")
transaction_label.pack()
def update_budget():
conn = sqlite3.connect('finance.db')
cursor = conn.cursor()
cursor.execute('SELECT SUM(amount) FROM transactions WHERE type="Gelir"')
total_income = cursor.fetchone()[0] or 0
cursor.execute('SELECT SUM(amount) FROM transactions WHERE type="Gider"')
total_expense = cursor.fetchone()[0] or 0
conn.close()
budget_label.config(text=f"GELİR: {total_income} TL | GİDER: {total_expense} TL | BÜTÇE: {total_income - total_expense} TL")
def plot_data():
conn = sqlite3.connect('finance.db')
df = pd.read_sql_query('SELECT type, SUM(amount) as total FROM transactions GROUP BY type', conn)
conn.close()
df.plot(kind='bar', x='type', y='total', title='Gelir/Gider Dağılımı')
plt.ylabel('Toplam Miktar (TL)')
plt.show()
app = tk.Tk()
app.title("Kişisel Finans Takip Uygulaması")
transaction_type = tk.StringVar(value="Gelir")
transaction_type_frame = tk.Frame(app)
transaction_type_frame.pack()
gelir_radio = tk.Radiobutton(transaction_type_frame, text="Gelir", variable=transaction_type, value="Gelir")
gelir_radio.pack(side=tk.LEFT)
gider_radio = tk.Radiobutton(transaction_type_frame, text="Gider", variable=transaction_type, value="Gider")
gider_radio.pack(side=tk.LEFT)
category_label = tk.Label(app, text="Kategori:")
category_label.pack()
category_entry = tk.Entry(app)
category_entry.pack()
amount_label = tk.Label(app, text="Miktar (TL):")
amount_label.pack()
amount_entry = tk.Entry(app)
amount_entry.pack()
description_label = tk.Label(app, text="Açıklama:")
description_label.pack()
description_entry = tk.Entry(app)
description_entry.pack()
add_button = tk.Button(app, text="Ekle", command=add_transaction)
add_button.pack()
transaction_list_frame = tk.Frame(app)
transaction_list_frame.pack()
budget_label = tk.Label(app, text="GELİR: 0 TL | GİDER: 0 TL | BÜTÇE: 0 TL", font=('Helvetica', 12, 'bold'))
budget_label.pack()
plot_button = tk.Button(app, text="Grafik Göster", command=plot_data)
plot_button.pack()
update_transaction_list()
app.mainloop()