Advertisement
Guest User

Untitled

a guest
Apr 7th, 2025
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. import tkinter as tk
  2. from tkinter import ttk
  3.  
  4. LARGEFONT =("Verdana", 35)
  5.  
  6. class tkinterApp(tk.Tk):
  7. def __init__(self, *args, **kwargs):
  8. # Relative import attempt
  9. from extra_pages.extra import Page2
  10.  
  11. tk.Tk.__init__(self, *args, **kwargs)
  12.  
  13. container = tk.Frame(self)
  14. container.pack(side = "top", fill = "both", expand = True)
  15. container.grid_rowconfigure(0, weight = 1)
  16. container.grid_columnconfigure(0, weight = 1)
  17.  
  18. self.frames = {}
  19.  
  20. for F in (StartPage, Page1, Page2):
  21. frame = F(container, self)
  22. self.frames[F] = frame
  23. frame.grid(row = 0, column = 0, sticky ="nsew")
  24. self.show_frame(StartPage)
  25.  
  26. def show_frame(self, cont):
  27. frame = self.frames[cont]
  28. frame.tkraise()
  29.  
  30.  
  31. class StartPage(tk.Frame):
  32. def __init__(self, parent, controller):
  33. # Relative import attempt
  34. from extra_pages.extra import Page2
  35.  
  36. tk.Frame.__init__(self, parent)
  37. label = ttk.Label(self, text ="Startpage", font = LARGEFONT)
  38. label.grid(row = 0, column = 4, padx = 10, pady = 10)
  39.  
  40. button1 = ttk.Button(self, text ="Page 1",
  41. command = lambda : controller.show_frame(Page1))
  42. button1.grid(row = 1, column = 1, padx = 10, pady = 10)
  43.  
  44. button2 = ttk.Button(self, text ="Page 2",
  45. command = lambda : controller.show_frame(Page2))
  46. button2.grid(row = 2, column = 1, padx = 10, pady = 10)
  47.  
  48.  
  49. class Page1(tk.Frame):
  50. def __init__(self, parent, controller):
  51. # Relative import attempt
  52. from extra_pages.extra import Page2
  53.  
  54. tk.Frame.__init__(self, parent)
  55. label = ttk.Label(self, text ="Page 1", font = LARGEFONT)
  56. label.grid(row = 0, column = 4, padx = 10, pady = 10)
  57.  
  58. button1 = ttk.Button(self, text ="StartPage",
  59. command = lambda : controller.show_frame(StartPage))
  60. button1.grid(row = 1, column = 1, padx = 10, pady = 10)
  61.  
  62. button2 = ttk.Button(self, text ="Page 2",
  63. command = lambda : controller.show_frame(Page2))
  64. button2.grid(row = 2, column = 1, padx = 10, pady = 10)
  65.  
  66.  
  67. app = tkinterApp()
  68. app.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement