Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- import baza
- Buttons = ["person", "book", "borrows"]
- PersonHeaders = ["Id", "Osoba", "email"]
- BookHeader = ["Id", "Autor", "Tytul", "Rok wydania", "Liczba"]
- BorrowsHeader = ["Id książki", "Id osoby"]
- current = None
- class TableFrame(tk.Frame):
- def __init__(self, parent, vertical=True, horizontal=True):
- super().__init__(parent)
- self.columnconfigure(0, weight=1)
- self.rowconfigure(0, weight=1)
- self.canvas = tk.Canvas(self)
- self.canvas.grid(row=0, column=0, sticky="news")
- self.vsb = tk.Scrollbar(self, orient="vertical", command=self.canvas.yview)
- self.hsb = tk.Scrollbar(self, orient="horizontal", command=self.canvas.xview)
- if vertical:
- self.vsb.grid(row=0, column=1, sticky="ns")
- if horizontal:
- self.hsb.grid(row=1, column=0, sticky="we")
- self.canvas.configure(yscrollcommand=self.vsb.set)
- self.canvas.configure(xscrollcommand=self.hsb.set)
- self.frame = tk.Frame(self.canvas)
- self.canvas.create_window((0,0), window=self.frame, anchor="nw")
- self.frame.bind("<Configure>", self.resize)
- def resize(self, event=None):
- self.canvas.configure(scrollregion=self.canvas.bbox("all"))
- def load_data(self, headers, data):
- rows = len(data)
- columns = len(headers)
- self.labels = [[tk.Label() for j in range(columns)] for i in range(rows + 1)]
- for i, j in enumerate(headers):
- x = tk.Label(self.frame, text=j, width = 20)
- x.grid(row=0, column=i)
- self.labels[0][i] = x
- for i in range(rows):
- for j in range(columns):
- x = tk.Label(self.frame, text=data[i][j])
- x.grid(row=i+1, column=j)
- self.labels[i][j] = x
- def raise_frame(frame, button_name):
- global current
- current = button_name
- frame.tkraise()
- frame.tkraise()
- def add(root):
- print("jestem")
- win2 = tk.Toplevel(root)
- tk.Entry(win2, text = "eee").grid(row = 0, column=0)
- tk.Entry(win2, text = "aaa").grid(row = 0, column=1)
- # if current == "book":
- # pass
- def change():
- pass
- def main():
- root = tk.Tk()
- root.columnconfigure(0, weight=1)
- root.rowconfigure(0, weight=1)
- mainframe = tk.Frame(root, bg="red")
- mainframe.grid(row=0, column=0, sticky="news")
- for i in range(3):
- mainframe.columnconfigure(i, weight=1)
- for i in range(1):
- mainframe.rowconfigure(i, weight=1)
- table_frames = [TableFrame(mainframe), TableFrame(mainframe),
- TableFrame(mainframe)]
- session = baza.load_database()
- table_frames[0].load_data(PersonHeaders, baza.get_person_list(session))
- table_frames[1].load_data(BookHeader, baza.get_books_list(session))
- table_frames[2].load_data(BorrowsHeader, baza.get_borrows_list(session))
- table_frames[0].grid(row=1, column=0, columnspan=3)
- table_frames[1].grid(row=1, column=0, columnspan=3)
- table_frames[2].grid(row=1, column=0, columnspan=3)
- tk.Button(mainframe, text="Osoby", bg="pink", command=lambda : raise_frame(table_frames[0], Buttons[0])).grid(row=0, column=0, sticky="news")
- tk.Button(mainframe, text="Książki", bg="pink", command=lambda : raise_frame(table_frames[1], Buttons[1])).grid(row=0, column=1, sticky="news")
- tk.Button(mainframe, text="Pożyczenia", bg="pink", command=lambda : raise_frame(table_frames[2], Buttons[2])).grid(row=0, column=2, sticky="news")
- tk.Button(mainframe, text="Dodaj", bg="pink", command=lambda : add(root)).grid(row=2, column=0, sticky="news")
- tk.Button(mainframe, text="Zmień", bg="pink", command=change).grid(row=2, column=1, sticky="news")
- tk.Button(mainframe, text="Wyjdź", bg="pink", command=root.destroy).grid(row=2, column=2, sticky="news")
- root.mainloop()
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement