def main(): def funcExit(): message_box = messagebox.askquestion("Exit", "Do you want to exit?", icon='warning') if message_box == "yes": root.destroy() def funcAddBook(): open_add_book = add_book.AddBook() def funcAddMember(): open_add_member = add_member.AddMember() root = ThemedTk() root.get_themes() root.set_theme("arc") app = Main(root) #MenuBar menu_bar = Menu(root) root.config(menu=menu_bar) file = Menu(menu_bar, tearoff=0) menu_bar.add_cascade(label="File", menu=file) file.add_command(label="Add a Book", command=funcAddBook) file.add_command(label="Add a Member", command=funcAddMember) file.add_command(label="Show Member") file.add_command(label="Exit", command=funcExit) root.title("Library Management System") root.geometry("1280x720+450+150") root.resizable(False, False) root.iconbitmap("image/book_tk.ico") root.mainloop()
def init() -> ThemedTk: window = ThemedTk() window.get_themes() window.set_theme('itft1') window.title("Prots2Net app") window.geometry('1080x1080') window.resizable(width=True, height=True) tab_control, tab1, tab2, tab3, tab4 = create_tab_control(window) tree_node = create_protein_tab(tab3) tree_edge = create_edge_tab(tab4) sec_txt, combo_1, combo_2 = create_main_tab(tab1) bar = ttk.Progressbar(tab1, length=100) bar['value'] = 0 bar.grid(column=1, row=6) bar_text = ttk.Label(tab1, anchor="s", text="") bar_text.grid(column=1, row=7) create_plot_tab(tab2, tree_node, tree_edge) tab_control.pack(expand=2, fill='both') btn2 = ttk.Button(tab1, text='Compute Network', command=partial(clicked, sec_txt, combo_1, combo_2, bar, bar_text)) btn2.grid(column=0, row=4, sticky='W') return window
class TestThemedTk(unittest.TestCase): def setUp(self): self.tk = ThemedTk() def tearDown(self): self.tk.destroy() def test_themes_available(self): available_themes = self.tk.get_themes() for theme in THEMES: if theme not in available_themes: raise AssertionError("Theme {} not available".format(theme)) def test_theme_setting(self): button = ttk.Button(self.tk) label = ttk.Label(self.tk) button.pack() label.pack() self.tk.update() for theme in self.tk.get_themes(): self.tk.set_theme(theme) self.tk.update() def test_custom_theme(self): if not self.tk.png_support: return for theme in self.tk.pixmap_themes: tk = ThemedTk() tk.set_theme_advanced(theme, brightness=0.2, saturation=1.4, hue=1.8) tk.destroy() return def test_toplevel_hook(self): __init__toplevel = tk.Toplevel.__init__ self.tk.set_theme("black", True, False) self.assertNotEqual(__init__toplevel, tk.Toplevel.__init__) top = tk.Toplevel(self.tk) color = ttk.Style(self.tk).lookup("TFrame", "background") self.assertIsNotNone(color) self.assertEqual(top.cget("background"), color) top.destroy() def test_tk_background(self): self.tk.config(background="white") self.tk.set_theme("black", False, True) self.assertNotEqual(self.tk.cget("background"), "white") def test_config_cget(self): self.tk.config(theme="equilux") self.assertEqual(self.tk.cget("theme"), self.tk.current_theme) self.assertEqual(self.tk.cget("theme"), "equilux") self.tk.config(themebg=True) self.assertTrue(self.tk.cget("themebg")) before = self.tk.cget("bg") self.tk.config(themebg=False) self.assertFalse(self.tk.cget("themebg")) after = self.tk["bg"] self.assertNotEqual(before, after) self.tk.config(toplevel=False) self.assertFalse(self.tk.cget("toplevel")) orig = tk.Toplevel.__init__ self.tk["toplevel"] = True self.assertTrue(self.tk.cget("toplevel")) self.assertNotEqual(orig, tk.Toplevel.__init__) self.tk.configure(toplevel=False) self.assertEqual(tk.Toplevel.__init__, orig)
def Login(): root_login = ThemedTk() root_login.get_themes() root_login.set_theme("arc") def BtnLogin(): user_name = entry_username.get() password = entry_password.get() try: query = cur.execute("SELECT * FROM register_user").fetchall() if user_name == str(query[0][1]) and password == str(query[0][2]): messagebox.showinfo("Login Successful", "Welcome to Library Management System") root_login.destroy() main() else: messagebox.showerror("Login Fail", "Check username or password again") exit() except: messagebox.showerror("Login Fail", "Check username or password again") exit() # # # MenuBar # menu_bar = Menu(root_login) # root_login.config(menu=menu_bar) # file = Menu(menu_bar, tearoff=0) # menu_bar.add_cascade(label="File", menu=file) # file.add_command(label="Add a Book", ) # file.add_command(label="Add a Member", ) # file.add_command(label="Show Member") # file.add_command(label="Exit", ) main_frame = ttk.Frame(root_login, width=400, height=200) main_frame.pack(fill=X) label_username = Label(main_frame, text="Username:"******"Arial 15 bold") label_username.grid(row=0, column=0, padx=(30, 0), pady=(30, 0), sticky=W) entry_username = ttk.Entry(main_frame, width=23, font="Arial 13 bold") entry_username.grid(row=0, column=1, padx=(20, 0), pady=(30, 0)) label_password = Label(main_frame, text="Password:"******"Arial 15 bold") label_password.grid(row=1, column=0, padx=(30, 0), pady=(15, 0), sticky=W) entry_password = ttk.Entry(main_frame, width=23, font="Arial 13 bold") entry_password.config(show="*") entry_password.grid(row=1, column=1, padx=(20, 0), pady=(15, 0)) btn_login = Button(root_login, text="Login", font="Arial 13 bold", width=15, bg="#4285f4", fg="#ececec", command=BtnLogin) btn_login.place(x=120, y=120) root_login.title("Library Management System") root_login.geometry("400x200+700+400") root_login.resizable(False, False) root_login.iconbitmap("image/book_tk.ico") root_login.mainloop()