I have two files frames, a login page and a navbar. I am trying to pack them into a CTkScrollableFrame which is packed to the CTk root. I don't understand why packing the Login frame to the page with expand = True and fill = 'both' still doesn't fill all the empty space. I have made the background color of the ScrollableFrame red, the result of my code is below.
In app.py
class App(ctk.CTkScrollableFrame):
def __init__(self, root: ctk.CTk):
super().__init__(root, border_width = 0, corner_radius = 0, fg_color = 'red')
self.pack(side = 'top', expand = True, fill = 'both')
self.root = root
self.login_page = Login(self)
# init application in scrollable frame
self.base_app = Navbar(self)
self.base_app.pack(side = 'top', fill = 'both')
# pack the page currently in display
self.login_page.pack(side = 'top', expand = True, fill = 'both')
def switch_page(self, page):
for widget in self.pack_slaves():
widget.pack_forget()
self.base_app.pack(side = 'top', fill = 'x')
if page == 'login':
self.login_page.pack(side = 'top', expand = True, fill = 'both')
elif page == 'signup':
self.signup_page.pack(side = 'top', expand = True, fill = 'both')
root = ctk.CTk()
root.geometry('1440x810')
root._set_scaling(1,1)
root.resizable(False, False)
app = App(root = root)
root.mainloop()
I have two files frames, a login page and a navbar. I am trying to pack them into a CTkScrollableFrame which is packed to the CTk root. I don't understand why packing the Login frame to the page with expand = True and fill = 'both' still doesn't fill all the empty space. I have made the background color of the ScrollableFrame red, the result of my code is below.
In app.py
In login.py
In navbar.py