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()
Exemple #2
0
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
Exemple #3
0
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()