Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- try:
- import tkinter as tk
- except ImportError:
- import Tkinter as tk
- WIDTH, HEIGHT = 800, 600
- FONT_HEADER = ("Verdana", 16, "bold")
- FONT_OPTION = ('Verdana', 12)
- class MainApplication(tk.Frame):
- def __init__(self, parent, *args, **kwargs):
- tk.Frame.__init__(self, parent, *args, **kwargs)
- self.parent = parent
- self.parent.title('test')
- self.parent.geometry(f'{WIDTH}x{HEIGHT}')
- self.parent.minsize(WIDTH, HEIGHT)
- self.parent.maxsize(WIDTH, HEIGHT)
- self.create_menu()
- self.create_left_menu()
- self.place_left_menu()
- def create_menu(self):
- self.menu = tk.Menu(self)
- self.menu_options = {}
- self.parent.config(menu=self.menu)
- # FILE
- self.menu_options['file'] = tk.Menu(self.menu, tearoff=0)
- self.menu.add_cascade(label='File', menu=self.menu_options['file'])
- self.menu_options['file'].add_command(label='New', command=lambda: about())
- self.menu_options['file'].add_command(label='Open...', command=lambda: about())
- self.menu_options['file'].add_separator()
- self.menu_options['file'].add_command(label='Exit', command=lambda: self.parent.quit())
- # PRODUCTS
- self.menu_options['products'] = tk.Menu(self.menu, tearoff=0)
- self.menu.add_cascade(label='Products', menu=self.menu_options['products'])
- self.menu_options['products'].add_command(label='WZ...', command=lambda: about())
- self.menu_options['products'].add_command(label='PZ...', command=lambda: about())
- self.menu_options['products'].add_command(label='About...', command=lambda: [about(), about()])
- # MAGAZYN
- self.menu_options['magazyn'] = tk.Menu(self.menu, tearoff=0)
- self.menu.add_cascade(label='Magazyn', menu=self.menu_options['magazyn'])
- self.menu_options['magazyn'].add_command(label='Raporty...', command=lambda: about())
- self.menu_options['magazyn'].add_command(label='Przepyw...', command=lambda: about())
- self.menu_options['magazyn'].add_command(label='About...', command=lambda: about())
- # SETTINGS
- self.menu_options['settings'] = tk.Menu(self.menu, tearoff=0)
- self.menu.add_cascade(label='Setting', menu=self.menu_options['settings'])
- self.menu_options['settings'].add_command(label='About...', command=lambda: about())
- # HELP
- self.menu_options['help'] = tk.Menu(self.menu, tearoff=0)
- self.menu.add_cascade(label='Help', menu=self.menu_options['help'])
- self.menu_options['help'].add_command(label='About...', command=lambda: about())
- def create_left_menu(self):
- self.left_menu = {}
- self.left_menu['header'] = tk.Label(self.parent, text='Nagłówek opcji', font=FONT_HEADER)
- self.left_menu['option1'] = tk.Button(self.parent, text='Option1', font=FONT_OPTION, command=lambda: print('Hello'))
- self.left_menu['option2'] = tk.Button(self.parent, text='option2', font=FONT_OPTION, command=lambda: print('Hello'))
- self.left_menu['option3'] = tk.Button(self.parent, text='option3', font=FONT_OPTION, command=lambda: print('Hello'))
- self.left_menu['option4'] = tk.Button(self.parent, text='option4', font=FONT_OPTION, command=lambda: print('Hello'))
- self.left_menu['option5'] = tk.Button(self.parent, text='option5', font=FONT_OPTION, command=lambda: print('Hello'))
- self.left_menu['option6'] = tk.Button(self.parent, text='option6', font=FONT_OPTION, command=lambda: print('Hello'))
- def place_left_menu(self, number=6):
- if number > len(self.left_menu) - 1:
- number = len(self.left_menu) - 1
- for i, item in enumerate(self.left_menu[:number+1]):
- self.left_menu[item].place(x=5, y=50+40*i)
- def hide_left_menu(self):
- for i, item in enumerate(self.left_menu[:number+1]):
- self.left_menu[item].forget_place()
- def cmd(self, command):
- pass
- if __name__ == "__main__":
- root = tk.Tk()
- MainApplication(root) # .pack(side="top", fill="both", expand=True)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement