import sqlite3 from Tkinter import * import tkMessageBox global selected_tuple import time class DB: def __init__(self): self.conn = sqlite3.connect("new5.db") self.cur = self.conn.cursor() self.cur.execute( "CREATE TABLE IF NOT EXISTS seti (id INTEGER PRIMARY KEY, El_N INTEGER)" ) self.conn.commit() def __del__(self): self.conn.close() def view(self): self.cur.execute("SELECT * FROM seti") rows = self.cur.fetchall() return rows def insert(self, El_N): self.cur.execute("INSERT INTO seti VALUES (NULL,?)", (El_N)) self.conn.commit() self.view() def update(self, id, El_N): self.cur.execute("UPDATE seti SET El_N=? WHERE id=?", (El_N, id)) self.view() def delete(self, id): self.cur.execute("DELETE FROM seti WHERE id=?", (id,)) self.conn.commit() self.view() def search(self, El_N=""): self.cur.execute("SELECT * FROM seti WHERE El_N=?" , (El_N)) rows = self.cur.fetchall() return rows db = DB() def get_selected_row(event): global selected_tuple index = list1.curselection()[0] selected_tuple = list1.get(index) e1.delete(0, END) e1.insert(END, selected_tuple[1]) def view_command(): list1.delete(0, END) for row in db.view(): list1.insert(END, row) def search_command(): list1.delete(0, END) for row in db.search(E_N.get()): list1.insert(END, row) def add_command(): db.insert(E_N.get()) list1.delete(0, END) list1.insert(END, (E_N.get())) def delete_command(): db.delete(selected_tuple[0]) def update_command(): db.update(selected_tuple[0], E_N) window = Tk() window.title("My Books") def on_closing(): dd = db if tkMessageBox.askokcancel("Quit", "Do you want to quit?"): window.destroy() del dd window.protocol("WM_DELETE_WINDOW", on_closing) # handle window closing EL1 = Label(window, text="ELEGANCE") EL1.grid(row=0, column=0,columnspan=2, pady = 15) E_N=IntVar() e1 = Entry(window, textvariable= E_N) e1.grid(row=1, column=1,sticky=W) list1 = Listbox(window, height=6, width=35) list1.grid(row=17, column=0, rowspan=6, columnspan=2) sb1 = Scrollbar(window) sb1.grid(row=17, column=2, rowspan=6) list1.configure(yscrollcommand=sb1.set) sb1.configure(command=list1.yview) list1.bind('<<ListboxSelect>>', get_selected_row) b1 = Button(window, text="View all", width=12, command=view_command) b1.grid(row=17, column=3) b2 = Button(window, text="Search entry", width=12, command=search_command) b2.grid(row=18, column=3) b3 = Button(window, text="Add entry", width=12, command=add_command) b3.grid(row=19, column=3) b4 = Button(window, text="Update selected", width=12, command=update_command) b4.grid(row=20, column=3) b5 = Button(window, text="Delete selected", width=12, command=delete_command) b5.grid(row=21, column=3) b6 = Button(window, text="Close", width=12, command=window.destroy) b6.grid(row=22, column=3) window.mainloop()I cant understand why the El_N INTEGER does not cooperate with E_N IntVar
Problem with GUI
Users browsing this thread: 1 Guest(s)