Aşağıda okula giden çocuğum için sınav takip için birşeyler yapayım dedim. Oldu sqlite veri tabanına işliyor. Fakat pythonda daha çok eksiğim var ve sorunum nedir neyi yanlış yaptığımı 2 gündür çözemedim. Mutlaka bilgi eksikliğinin bir sorunu. comboboxlarda gün seçiyorum sonrasında ay seçince gün kutusunu siliyor, yıl seçiyorum geride kalan kutunun içindeki değer siliniyor. Fakat değerleri veri tabanına seçileni yazıyor. Sorun python da çok detay var ama sadece okumakla olmuyor. Birde bu konuda uzman eğitimi almak istiyorum. Önerisi olan var mı ? İzmirde yaşıyorum. Bunu derinlemesine püf noktasını öğrenmem lazım ki çocuğumada doğru aktarayım.
from tkinter import *
from tkinter import ttk
import sqlite3,os
tk =Tk()
tk.title("☆ Ders Notları Giriş Ekranı ☆")
tk.geometry("400x250")
tk.configure(background="lightgray")
tk.resizable(width=FALSE,height=FALSE)
style= ttk.Style()
style.theme_use('clam')
style.configure("TCombobox", fieldbackground= "black", background="purple")
vgun=""
for i in range(1,31):
if len(str(i))<2:
i="0"+str(i)
vgun=vgun+str(i)+" "
vgun=vgun+str(i+1)
gun_sec=vgun.split( )
vay=""
for i in range(1,12):
if len(str(i))<2:
i="0"+str(i)
vay=vay+str(i)+" "
vay=vay+str(i+1)
ay_sec=vay.split( )
vyil=""
for i in range(2020,2050):
vyil=vyil+str(i)+" "
vyil=vyil+str(i+1)
yil_sec=vyil.split( )
#Kayıt giriş butonu işliyor
def kayitgir():
veriler=""
tarih=str(tarihgun.get()+"/"+tarihay.get()+"/"+tarihyil.get())
veriler=tarih+" "+ders.get()+" "+konu.get()+" "+soru.get()+" "+dogru.get()+" "+yanlis.get()+" "+bos.get()
veriler=veriler.split()
DersDetay.delete(0,END)
gecici_islemEkran= DersDetay.get(ACTIVE)
gecici = veriler
DersDetay.insert(END,gecici)
#Sadece sayı girişine müsade eden kısım
def validate(sayi): # callback function
return sayi.isdigit()
gecerli = tk.register(validate)
#================================
#Sayfa düzeni.
baslik=Label(tk,text="Sınav Sonuç Girişi",width=23,height=2,bg="darkmagenta",fg="white",font="Arial 14 bold",bd=10)
baslik.place(relx=0.01, rely=0.01)
ltarih= Label(tk, text="Sınav Tarihi \n (gg/aa/yyyy) ",width=10,height=2,bg="darkblue",fg="white",font="arial 10 bold",bd=5)
lders= Label(tk, text="Ders Adı ",width=10,height=2,bg="darkblue",fg="white",font="arial 10 bold",bd=5)
lkonu= Label(tk, text="Konusu ",width=10,height=2,bg="darkblue",fg="white",font="arial 10 bold",bd=5)
lsoru= Label(tk, text="Soru Sayısı ",width=10,height=2,bg="darkblue",fg="white",font="arial 10 bold",bd=5)
ldogru= Label(tk, text="Doğru Sayısı",width=10,height=2,bg="darkblue",fg="white",font="arial 10 bold",bd=5)
lyanlis= Label(tk, text="Yanlış Sayısı",width=10,height=2,bg="darkblue",fg="white",font="arial 10 bold",bd=5)
lbos= Label(tk, text="Boş Sayısı ",width=10,height=2,bg="darkblue",fg="white",font="arial 10 bold",bd=5)
tarihgun= ttk.Combobox(tk,values = gun_sec,width=2,height=35,font="Arial 12 bold" )
tarihgun.set("gün")
tarihgun.pack()
tarihay= ttk.Combobox(tk,values = ay_sec,width=2,height=35,font="Arial 12 bold" )
tarihay.set("ay")
tarihay.pack()
tarihyil= ttk.Combobox(tk,values = yil_sec,width=4,height=35,font="Arial 12 bold" )
tarihyil.set("yıl")
tarihyil.pack()
#================================
ders= Entry(tk, width=13,bg="Black",fg="white",font="Arial 12 bold",bd=10)
konu= Entry(tk, width=16,bg="Black",fg="white",font="Arial 12 bold",bd=10)
soru= Entry(tk,validate='key', width=5,bg="Black",fg="white",bd=10,font="Arial 12 bold",validatecommand=(gecerli,'%S'))
dogru= Entry(tk,validate='key', width=5,bg="Black",fg="white",bd=10,font="Arial 12 bold",validatecommand=(gecerli,'%S'))
yanlis= Entry(tk,validate='key', width=5,bg="Black",fg="white",bd=10,font="Arial 12 bold",validatecommand=(gecerli,'%S'))
bos= Entry(tk,validate='key', width=5,bg="Black",fg="white",bd=10,font="Arial 12 bold",validatecommand=(gecerli,'%S'))
#Kayıt butonu
kayit= Button(tk,text="Giriş",width=6, height=2, bg="red", fg="white",
font="arial 14 bold",bd=16, activeforeground="blue", activebackground="lightblue",cursor="hand2", command=kayitgir)
kayit.pack()
#listbox ile girileni göster
DersDetay= Listbox(tk,width=47,height=16, bg = "gray", fg="white",font="Arial 7 bold",bd=15)
DersDetay.place(relx=0.01,rely=0.62)
#Komum belirleme
baslik.place(relx=0.01, rely=0.01)
ltarih.place(relx=0.01, rely=0.12)
tarihgun.place(relx=0.40, rely=0.12)
tarihay.place(relx=0.55, rely=0.12)
tarihyil.place(relx=0.70, rely=0.12)
lders.place(relx=0.01, rely=0.19)
ders.place(relx=0.40, rely=0.19)
lkonu.place(relx=0.01, rely=0.26)
konu.place(relx=0.40, rely=0.26)
lsoru.place(relx=0.01, rely=0.33)
soru.place(relx=0.40, rely=0.33)
ldogru.place(relx=0.01, rely=0.40)
dogru.place(relx=0.40, rely=0.40)
lyanlis.place(relx=0.01, rely=0.47)
yanlis.place(relx=0.40, rely=0.47)
lbos.place(relx=0.01, rely=0.54)
bos.place(relx=0.40, rely=0.54)
kayit.place(relx=0.62, rely=0.47)
tk.mainloop()