Untitled
Anonymous
plain_text
02/10/2026 4:18 PM
4.7 KB
8
Indexable
import sqlite3
import tkinter as tk
from tkinter import messagebox, ttk
def create_connection():
conn = sqlite3.connect('books_db')
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL,
author TEXT NOT NULL,
year INTEGER
)
''')
conn.commit()
return conn
def add_book(conn, title, author, year):
c = conn.cursor()
c.execute(
'INSERT INTO books (title, author, year) VALUES (?, ?, ?)',
(title, author, year)
)
conn.commit()
messagebox.showinfo("sukses", "libri u shtua me sukses!")
view_books(conn)
def view_books(conn):
c = conn.cursor()
c.execute('SELECT * FROM books')
books = c.fetchall()
for row in tree.get_children():
tree.delete(row)
for book in books:
tree.insert("", "end", values=book)
def delete_books(conn, book_id):
c = conn.cursor()
c.execute('DELETE FROM books WHERE id = ?', (book_id,))
conn.commit()
messagebox.showinfo("sukses", "libri u fshi me sukses")
view_books(conn)
def get_selected_book():
selected_item = tree.selection()[0]
return tree.item(selected_item)['values'][0]
def main():
global conn
conn = create_connection()
def on_add():
title = title_entry.get()
author = author_entry.get()
year = year_entry.get()
add_book(conn, title, author, year)
def on_delete():
try:
book_id = get_selected_book()
delete_books(conn, book_id)
except IndexError:
messagebox.showwarning("kujdes", "zgjidhni nje liber per te fshire")
root = tk.Tk()
root.title("menaxhimi i librave")
input_frame = tk.Frame(root)
input_frame.pack(pady=10)
tk.Label(input_frame, text="titulli").grid(row=0, column=0)
tk.Label(input_frame, text="autori").grid(row=1, column=0)
tk.Label(input_frame, text="viti").grid(row=2, column=0)
title_entry = tk.Entry(input_frame)
author_entry = tk.Entry(input_frame)
year_entry = tk.Entry(input_frame)
title_entry.grid(row=0, column=1)
author_entry.grid(row=1, column=1)
year_entry.grid(row=2, column=1)
add_button = tk.Button(input_frame, text="shto liber", command=on_add)
add_button.grid(row=3, columnspan=2, pady=5)
tree_frame = tk.Frame(root)
tree_frame.pack()
tree_scroll = tk.Scrollbar(tree_frame)
tree_scroll.pack(side=tk.RIGHT, fill=tk.Y)
global tree
tree = ttk.Treeview(
tree_frame,
yscrollcommand=tree_scroll.set,
selectmode="browse"
)
tree.pack()
tree_scroll.config(command=tree.yview)
tree['columns'] = ("ID", "Titulli", "Autori", "Viti")
tree.column("#0", width=0, stretch=tk.NO)
tree.column("ID", anchor=tk.CENTER, width=50)
tree.column("Titulli", anchor=tk.W, width=200)
tree.column("Autori", anchor=tk.W, width=150)
tree.column("Viti", anchor=tk.CENTER, width=100)
tree.heading("#0", text="", anchor=tk.W)
tree.heading("ID", text="ID", anchor=tk.CENTER)
tree.heading("Titulli", text="titulli", anchor=tk.W)
tree.heading("Autori", text="autori", anchor=tk.W)
tree.heading("Viti", text="viti", anchor=tk.CENTER)
view_books(conn)
delete_button = tk.Button(root, text="fshi liber", command=on_delete)
delete_button.pack(pady=10)
root.mainloop()
if __name__ == '__main__':
main()
Editor is loading...
Leave a Comment