Merhaba arkadaşlar bu makalemizde Mysql veritabanındaki
worldclassics tablosundaki verileri combobox ta göstereceğim. Combobox ta
seçili indeks bilgisini butona tıklayarak label de göstereceğim.
İlk önce Mysql sınıfını aşağıdaki gibi ekleyelim. Sonra
Mysql Veritabanına bağlantıyı sağlayacak connector ü ekliyorum.
Şekil 1
Şekil 2
import mysql.connector
from tkinter import *
from tkinter import ttk
from tkinter.font import Font
con1 = mysql.connector.connect(
host="localhost",
user="root",
password="2344",
database="book"
)
cur = con1.cursor()
root= Tk()
root.geometry("600x400")
root.title("combobox...bs")
# to make the GUI dimensions fixed.. GUI boyutlarinin duzenlenmesi
yapilir.
root.resizable(False, False)
font = Font(family = "Arial", size = 16)
root.option_add("*TCombobox*Listbox*Font", font)
cboxstyle = ttk.Style()
cboxstyle.theme_create('combostyle', parent='alt',
settings = {'TCombobox':
{'configure':
{'selectbackground': 'deepskyblue',
'fieldbackground': '#CCFFFF',
'background': 'lightgreen'
}}}
)
cboxstyle.theme_use('combostyle')
# Create a function to clear the combobox.. olusturulan fonksiyon
combobox nesnesini temizler
def clear_cb():
cbox.set('')
cur1 = con1.cursor()
cur1.execute("Select Author,Book From worldclassics")
rows = cur1.fetchall()
con1.close()
# Function to print the index of selected option in Combobox..
# Combobox icindeki secili itemlerin indeksini yazdiran fonksiyon
def callback(*arg):
Label(root, text= "Id=" + str(cbox.current())
+"
"+ str(var.get()), font= ('Arial','12','normal')).pack()
# Create a combobox widget.. combobox nesnesi olusturuyoruz
var = StringVar()
cbox = ttk.Combobox(root, textvariable=var,font=('Arial', 16, 'normal'),width=50,height=30)
cbox['values'] = rows
cbox['state'] = 'readonly'
cbox.current(0)
#cbox.grid(row=10, column=1, padx=50, pady=50)
#cbox.place(x=20, y=20, width=380, height=50)
cbox.pack(padx=20,pady=20)
# Set the tracing for the given variable
# verilen degisken icin duzenleme yapilir
var.trace('w', callback)
# Create a button to clear the selected combobox text value
# Combobox taki secili metin degerleri temizlemek icin buton olusturuyoruz
button=Button(root, text= "Clear ( Temizle )", command= clear_cb,width=23,height=2,font=
('Arial','12','bold'),fg="white",bg="fuchsia")
#button.place(x=20, y=80, width=380, height=50)
button.pack(padx=50,pady=5)
root.mainloop()
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN
0 comments:
Yorum Gönder