
Ini merupakan lanjutan tutorial yang sebelumnya. Disini kita memodifikasi file yang sudah kita buat. Dengan menambahkan Treeview untuk melihat data yang sudah kita simpan. Tetapi sebelumnya mari kita rapihkan kode yang sudah kita buat agar mudah mengembangkannya.
#import modulesSelanjutnya mari kita tambahkan Treeview diatas kode win.mainloop().
import tkinter as tk
import sqlite3
from tkinter import ttk
win = tk.Tk()
win.title(‘CRUD Tkinter’)
#buat fungsi-fungsi
def database():
global conn, cursor
conn = sqlite3.connect(‘testDB.db’)
cursor = conn.cursor()
cursor.execute(“CREATE TABLE IF NOT EXISTS ‘COMPANY'(ID integer primary key autoincrement not null,NAME text not null, AGE int not null , ADDRESS char(50), SALARY real);”)
def entry():
database()
conn.execute(“INSERT INTO COMPANY ( NAME, AGE, ADDRESS, SALARY) values (?,?,?,? )”, (name.get(),age.get(),address.get(),salary.get(),));
conn.commit()
sta.configure(text = ‘Status :Entry data success!’)
sta.configure(foreground = ‘green’)
clear()
def clear():
name.set(”)
age.set(0)
address.set(”)
salary.set(0)
#buat variabel-variabel
name = tk.StringVar()
age = tk.IntVar()
address = tk.StringVar()
salary = tk.IntVar()
#menginisiasi komponen-komponen
labTittle = ttk.Label(win, font=(16), foreground=’#0000FF’, text=’Add An employee’)
labNama = ttk.Label(win, text=’Name ‘)
labAge = ttk.Label(win, text=’Age ‘)
labAddress = ttk.Label(win, text=’Address’)
labSalary = ttk.Label(win, text=’Salary’)
sta = ttk.Label(win, text=’Status :’)
#colom-colom
colName = ttk.Entry(win, textvariable=name)
colAge = ttk.Entry(win, textvariable=age)
colAddress = ttk.Entry(win, textvariable=address)
colSalary = ttk.Entry(win, textvariable=salary)
#Tombol tombol
bAdd = ttk.Button(win, text=’Add’, command=entry)
bReset = ttk.Button(win, text=’Reset’, command=clear)
#menempatkan komponen-komponen
labTittle.grid(column=1,sticky=tk.W+tk.E)
labNama.grid(column=0,row=1)
labAge.grid(column=0,row=2)
labAddress.grid(column=0,row=3)
labSalary.grid(column=0,row=4)
sta.grid(column=1,row=5,sticky=tk.W+tk.E)
colName.grid(column=1, row=1)
colAge.grid(column=1, row=2)
colAddress.grid(column=1, row=3)
colSalary.grid(column=1, row=4)
bAdd.grid(column=0, row=6,sticky=tk.W+tk.E)
bReset.grid(column=1, row=6,sticky=tk.W+tk.E)
#menjalankan applikasi
win.mainloop()
#menambahkan TreeviewKemudian kita buat fungsi read untuk membaca datanya.
tree = ttk.Treeview(win,columns=(“ID”, “NAME”, “AGE”, “ADDRESS”, “SALARY”), selectmode=”extended”, height=500)
tree.heading(‘ID’, text=”ID”, anchor=W)
tree.heading(‘NAME’, text=”NAME”, anchor=W)
tree.heading(‘AGE’, text=”AGE”, anchor=W)
tree.heading(‘ADDRESS’, text=”ADDRESS”, anchor=W)
tree.heading(‘SALARY’, text=”SALARY”, anchor=W)
tree.column(‘#0’, stretch=NO, minwidth=0, width=0)
tree.column(‘#1’, stretch=NO, minwidth=0, width=40)
tree.column(‘#2’, stretch=NO, minwidth=0, width=120)
tree.column(‘#3’, stretch=NO, minwidth=0, width=40)
tree.column(‘#4’, stretch=NO, minwidth=0, width=120)
tree.grid(column=0,columnspan=3,row=7)
def read():Kemudian eksekusi fungsi read saat program dimulai dengan menambahkan kode read() sebelum win.mainloop(). Lihatlah maka akan muncul data yang sudah kita masukan. Dan masukan kode read() juga pada akhir baris fungsi entry agar langsung merefresh setelah data ditambahkan.
tree.delete(*tree.get_children())
database()
cursor.execute(“SELECT * FROM `COMPANY` ORDER BY `NAME` ASC”)
fetch = cursor.fetchall()
for data in fetch:
tree.insert(”, ‘end’, values=(data[0], data[1], data[2], data[3], data[4]))
cursor.close()
conn.close()
sta.config(text=”Successfully read the data from database”, foreground=”black”)
.:GOOD LUCK:.
Tidak ada komentar:
Posting Komentar