Advertisement
here2share

# Tk_frame_ratio_divided.py

May 28th, 2018
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. # Tk_frame_ratio_divided.py
  2.  
  3. import Tkinter as Tk
  4.  
  5. # Main window
  6. master = Tk.Tk()
  7. master.geometry("200x60+20+20")
  8.  
  9. # Callback event that resizes the main components
  10. def resize_it(event):
  11.     global master # Main Window
  12.     global a # Red Frame
  13.     global b # Blue Frame
  14.     #Reconfigure the main window's and frames' dimensions      
  15.     a.configure(width=event.width/2, height=event.height/2)
  16.     b.configure(width=event.width/2, height=event.height/2)
  17.     master.configure(width=event.width, height=event.height)
  18.  
  19. #Create a red (first) Frame
  20. a = Tk.Frame(master, bg='red')
  21. a.pack(side='left', expand=True, fill=Tk.BOTH)
  22.  
  23. # Draw a button on frame a
  24. a1 = Tk.Button(a, text='Demo Button')
  25. a1.grid(row=0, column=0)
  26. # Disable geometry propagation
  27. a.grid_propagate(0)  
  28.  
  29. #Create a blue (second) Frame
  30. b = Tk.Frame(master,  bg='blue')
  31. b.pack(side='left', expand=True, fill=Tk.BOTH)
  32. # Draw a label on frame b
  33. l1 = Tk.Label(b, text='Label Demo '*10)
  34. l1.grid(row=0, column=0)
  35. # Disable geometry propagation on frame b
  36. # Note: always after adding ALL the desired widgets to b. Same note for frame b
  37. b.grid_propagate(0)    
  38.  
  39. master.bind('<Configure>', resize_it)
  40. #Start program
  41. master.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement