Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.12 KB | None | 0 0
  1. try:
  2.     import tkinter as tk
  3. except ImportError:
  4.     import Tkinter as tk
  5.  
  6. WIDTH, HEIGHT = 800, 600
  7. FONT_HEADER = ("Verdana", 16, "bold")
  8. FONT_OPTION = ('Verdana', 12)
  9.  
  10.  
  11. class MainApplication(tk.Frame):
  12.     def __init__(self, parent, *args, **kwargs):
  13.         tk.Frame.__init__(self, parent, *args, **kwargs)
  14.         self.parent = parent
  15.         self.parent.title('test')
  16.         self.parent.geometry(f'{WIDTH}x{HEIGHT}')
  17.         self.parent.minsize(WIDTH, HEIGHT)
  18.         self.parent.maxsize(WIDTH, HEIGHT)
  19.  
  20.         self.create_menu()
  21.  
  22.         self.create_left_menu()
  23.         self.place_left_menu()
  24.  
  25.     def create_menu(self):
  26.         self.menu = tk.Menu(self)
  27.         self.menu_options = {}
  28.         self.parent.config(menu=self.menu)
  29.  
  30.         # FILE
  31.         self.menu_options['file'] = tk.Menu(self.menu, tearoff=0)
  32.         self.menu.add_cascade(label='File', menu=self.menu_options['file'])
  33.         self.menu_options['file'].add_command(label='New', command=lambda: about())
  34.         self.menu_options['file'].add_command(label='Open...', command=lambda: about())
  35.         self.menu_options['file'].add_separator()
  36.         self.menu_options['file'].add_command(label='Exit', command=lambda: self.parent.quit())
  37.  
  38.         # PRODUCTS
  39.         self.menu_options['products'] = tk.Menu(self.menu, tearoff=0)
  40.         self.menu.add_cascade(label='Products', menu=self.menu_options['products'])
  41.         self.menu_options['products'].add_command(label='WZ...', command=lambda: about())
  42.         self.menu_options['products'].add_command(label='PZ...', command=lambda: about())
  43.         self.menu_options['products'].add_command(label='About...', command=lambda: [about(), about()])
  44.  
  45.         # MAGAZYN
  46.         self.menu_options['magazyn'] = tk.Menu(self.menu, tearoff=0)
  47.         self.menu.add_cascade(label='Magazyn', menu=self.menu_options['magazyn'])
  48.         self.menu_options['magazyn'].add_command(label='Raporty...', command=lambda: about())
  49.         self.menu_options['magazyn'].add_command(label='Przepyw...', command=lambda: about())
  50.         self.menu_options['magazyn'].add_command(label='About...', command=lambda: about())
  51.  
  52.         # SETTINGS
  53.         self.menu_options['settings'] = tk.Menu(self.menu, tearoff=0)
  54.         self.menu.add_cascade(label='Setting', menu=self.menu_options['settings'])
  55.         self.menu_options['settings'].add_command(label='About...', command=lambda: about())
  56.  
  57.         # HELP
  58.         self.menu_options['help'] = tk.Menu(self.menu, tearoff=0)
  59.         self.menu.add_cascade(label='Help', menu=self.menu_options['help'])
  60.         self.menu_options['help'].add_command(label='About...', command=lambda: about())
  61.  
  62.  
  63.     def create_left_menu(self):
  64.         self.left_menu = {}
  65.  
  66.         self.left_menu['header'] = tk.Label(self.parent, text='Nagłówek opcji', font=FONT_HEADER)
  67.         self.left_menu['option1'] = tk.Button(self.parent, text='Option1', font=FONT_OPTION, command=lambda: print('Hello'))
  68.         self.left_menu['option2'] = tk.Button(self.parent, text='option2', font=FONT_OPTION, command=lambda: print('Hello'))
  69.         self.left_menu['option3'] = tk.Button(self.parent, text='option3', font=FONT_OPTION, command=lambda: print('Hello'))
  70.         self.left_menu['option4'] = tk.Button(self.parent, text='option4', font=FONT_OPTION, command=lambda: print('Hello'))
  71.         self.left_menu['option5'] = tk.Button(self.parent, text='option5', font=FONT_OPTION, command=lambda: print('Hello'))
  72.         self.left_menu['option6'] = tk.Button(self.parent, text='option6', font=FONT_OPTION, command=lambda: print('Hello'))
  73.  
  74.     def place_left_menu(self, number=6):
  75.  
  76.         if number > len(self.left_menu) - 1:
  77.             number = len(self.left_menu) - 1
  78.  
  79.         for i, item in enumerate(self.left_menu[:number+1]):
  80.             self.left_menu[item].place(x=5, y=50+40*i)
  81.  
  82.     def hide_left_menu(self):
  83.         for i, item in enumerate(self.left_menu[:number+1]):
  84.             self.left_menu[item].forget_place()
  85.  
  86.     def cmd(self, command):
  87.         pass
  88.        
  89.  
  90. if __name__ == "__main__":
  91.     root = tk.Tk()
  92.     MainApplication(root)  # .pack(side="top", fill="both", expand=True)
  93.     root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement