Search code examples
pythontkintersizeframe

Python Tkinter set frame size to 100%


I am creating a Python program using Tkinter. I want to create a frame using Tkinter in order to hold multiple different widgets. The frame should take up 100% of the windows width.

I have found that I can do this by setting the width of the frame equal to the width of the window I defined when creating the window. This works as expected.

However, the Tkinter window I am creating must be resizable. This means that the frame must also resize to fill up 100% of the window width. I am unable to find a solution for this issue.

I have looked at Stack Overflow, YouTube, searched online and asked CHAT GPT. I have been unable to find an answer.

The previous code I tried to fix this issue is:

window = Tk() # Create a tkinter window
window.geometry('1500x750') # Set the size of the window
window.resizable(True, True) # Make the window resizeable

header = Frame(window, height=300, background="red")
header.pack(side="top", fill="x", expand=True)

Solution

  • Set the value of expand to False, instead of True. For example:

    header.pack(side="top", fill="x", expand=False)