Merhabalar, Kişisel Muhasebe adı altında bir tkinter ile gui programı yazıyorum . Fakat tkinterde çok yeniyim o yüzden yardımınızı bekliyorum.
import sqlite3
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
from tkinter import Scrollbar
window = tk.Tk()
window.geometry("1200x700")
window.title("Kişisel Muhasebe")
def fileFunction():
print("here")
menubar = tk.Menu(window)
window.config(menu = menubar)
file = tk.Menu(menubar)
edit = tk.Menu(menubar)
menubar.add_cascade(label = "Dosya", menu = file)
menubar.add_cascade(label = "Yardım", menu = edit,command = fileFunction)
file.add_command(label = "new file", command =fileFunction )
frame1 = tk.LabelFrame(window,text = "Bütün Muhasebe",width=700, height = 615,)
frame1.grid(row = 0, column = 0)
frame2 = tk.LabelFrame(window, text = 'Araçlar',width=400, height = 600,padx = 10,pady=10)
frame2.grid(row = 0, column = 1)
tabs1 = tk.LabelFrame(frame2, text = 'Ara', width=400, height = 200,padx = 5,pady=5)
tabs1.grid(row = 0, column = 0)
tabs2 = tk.LabelFrame(frame2, text = 'Yeni Ekle', width=400, height = 200,padx = 5,pady=5)
tabs2.grid(row = 1, column = 0)
tabs3 = tk.LabelFrame(frame2, text = 'Sil', width=400, height = 200,padx = 5,pady=5)
tabs3.grid(row = 2, column = 0)
tk.Label(frame1, text = "Sıra").grid(row = 0, column =0,padx = 5, pady = 5)
tk.Label(frame1, text = "Adı Soyadı").grid(row = 0, column =1,padx = 5, pady = 5)
tk.Label(frame1, text = "Nakit/Kart").grid(row = 0, column =2,padx = 5, pady = 5)
tk.Label(frame1, text = "Ödeme Miktarı").grid(row = 0, column =3,padx = 5, pady = 5)
tk.Label(frame1, text = "Not").grid(row = 0, column =4,padx = 5, pady = 5)
tk.Label(tabs1, text = "Sıra").grid(row = 0, column =0,padx = 5, pady = 5)
tk.Label(tabs1, text = "Adı Soyadı").grid(row = 0, column =1,padx = 5, pady = 5)
tk.Label(tabs1, text = "Nakit/Kart").grid(row = 0, column =2,padx = 5, pady = 5)
tk.Label(tabs1, text = "Ödeme Miktarı").grid(row = 0, column =3,padx = 5, pady = 5)
tk.Label(tabs1, text = "Not").grid(row = 0, column =4,padx = 5, pady = 5)
tk.Label(tabs2, text = "Adı Soyadı").grid(row = 0, column =1,padx = 5, pady = 5)
tk.Label(tabs2, text = "Nakit/Kart").grid(row = 0, column =2,padx = 5, pady = 5)
tk.Label(tabs2, text = "Ödeme Miktarı").grid(row = 0, column =3,padx = 5, pady = 5)
tk.Label(tabs2, text = "Not").grid(row = 0, column =4,padx = 5, pady = 5)
tk.Label(tabs3, text = "Adı Soyadı").grid(row = 0, column =1,padx = 5, pady = 5)
tk.Label(tabs3, text = "Nakit/Kart").grid(row = 0, column =2,padx = 5, pady = 5)
tk.Label(tabs3, text = "Ödeme Miktarı").grid(row = 0, column =3,padx = 5, pady = 5)
tk.Label(tabs3, text = "Not").grid(row = 0, column =4,padx = 5, pady = 5)
def buttonFunction():
# message
# message_box = messagebox.showinfo(title = "info", message = "information")
# message_box = messagebox.askretrycancel(title = "info", message = "information")
# message_box = messagebox.askquestion(title = "info", message = "information")
# message_box = messagebox.askyesnocancel(title = "info", message = "information")
message_box = messagebox.showerror(title = "info", message = "information")
print(message_box)
vt = sqlite3.connect("muhasebe.db")
im = vt.cursor()
sql = """CREATE TABLE IF NOT EXISTS 'Kişisel Muhasebe'
('Adı Soyadı','Nakit/Kart','Ödeme','Not')"""
def buttonFunction2():
ad_soyad = input('Deneme')
odeme = input()
para = input()
if para == int():
int(para)
else :
message_box = messagebox.askretrycancel(title = "Yanlış Veri Girişi", message = "Lütfen Sayı Giriniz!")
not_not = input()
veri = (ad_soyad,odeme,para,not_not)
im.execute(sql)
im.execute("""INSERT INTO 'Kişisel Muhasebe' VALUES
(?,?,?,?) """,veri)
vt.commit()
im.execute("""SELECT * FROM 'Kişisel Muhasebe' """)
veriler = im.fetchall()
x = 1
d= 1
z=1
for veri in veriler:
str(d)
tk.Label(frame1,text = d).grid(row = x, column =0,padx = 5, pady = 5)
a = 1
for vr in veri:
tk.Label(frame1, text = vr ).grid(row = x, column =a,padx = 5, pady = 5)
a += 1
x += 1
d += 1
z += 1
print(veri)
print(x)
##########################################################
##########################################################
entry = tk.Entry(tabs1,width = 50)
entry.insert(string = "Sıra",index = 0)
entry.grid(row = 1, column =0,padx = 5, pady = 5)
entry = tk.Entry(tabs1,width = 50)
entry.insert(string = "Ad Soyad",index = 0)
entry.grid(row = 1, column =1,padx = 5, pady = 5)
entry = tk.Entry(tabs1,width = 50)
entry.insert(string = "Nakit/Kart",index = 0)
entry.grid(row = 1, column =2,padx = 5, pady = 5)
entry = tk.Entry(tabs1,width = 50)
entry.insert(string = "Ödenen Miktar",index = 0)
entry.grid(row = 1, column =3,padx = 5, pady = 5)
#######################################
###################
# button
button = tk.Button(tabs1, text = "Ara", activebackground = "red",
bg = "black", fg = "white", activeforeground = "black",
command = buttonFunction)
button.grid(row = 0, column =5,padx = 5, pady = 5)
button2 = tk.Button(tabs2, text = "Ekle", activebackground = "red",
bg = "black", fg = "white", activeforeground = "black",
command = buttonFunction2 )
button2.grid(row = 0, column =5,padx = 5, pady = 5)
button3 = tk.Button(tabs3, text = " Sil", activebackground = "red",
bg = "black", fg = "white", activeforeground = "black",
command = buttonFunction)
button3.grid(row = 0, column =5,padx = 5, pady = 5)
window.mainloop()
Bu projeyi çalıştırdığınız zaman db de veri varsa diğer ikinci frame leri göstermiyor eğer ikinci framelerin içine de aynı db verisini koyarsak bu sefer gösteriyor fakat bütün muhasebe framesini aşşağı kaydırıyo gridleri ayarlanmış olmasına rağmen.
bunun dışında scroll u ekleyemiyorum scrollu araştırdım fakat açık konuşmak gerekirse mantığını anlayamadım - ne frame lere eklemeyi nede normal kullanımı
Yardımcı olursanız sevinirim saygılarımla
not : db dosyasını aşşağı bırakıyorum