Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7418683
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T07:55:47+00:00 2026-05-29T07:55:47+00:00

Here is the code: from Tkinter import * def main(): w1 = Tk() w1[height]

  • 0

Here is the code:

from Tkinter import *

def main():
    w1 = Tk()
    w1["height"] = 400;
    w1["width"] = 500;
    w1.title("Gui")
    f1 = Frame(w1)
    f1.grid_propagate()
    f1["height"] = w1["height"];
    f1["width"] = w1["width"];
    f1.pack()
    p1 = Button(f1)
    p1["borderwidth"] = 6
    p1["text"] = "esci"
    p1["background"] = "red"
    p1["command"] = f1.quit
    p1.pack()
    w1.mainloop()
main()

I have given to w1 and f1 (window and frame) a 500×400 size, but a too small window appears: it’s too small, I would say 200×100, but I don’t know … why does this happen?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T07:55:49+00:00Added an answer on May 29, 2026 at 7:55 am

    It is this small because tkinter windows by default “shrink to fit”. This is called geometry propagation, and it seems like you might already be familiar with it because you call grid_propagate — though, without having it actually do anything and without using what it returns.

    There are actually two problems in your code. The first is that you call f1.grid_propagate(), but you are using pack to arrange the widgets in f1 so you need to call f1.pack_propagate instead. Second, you need to pass a flag of False to actually turn off propagation. Doing that will prevent f1 from shrinking to fit its contents.

    Second, you aren’t turning propagation off on w1, so it will shrink to fit its children. You either need to call w1.grid_propagate(False), OR you can call w1.wm_geometry("500x400") to request that the window manager set the size to that exact dimension.

    If you are just learning Tkinter, I suggest you resist the urge to turn propagation off. In my couple dozen years of coding in tk I’ve used that feature maybe once every couple of years. Tkinter’s geometry managers are remarkable tools and you should learn to take advantage of them. Instead of having containers control their size, let the children be the size you want them to be and the rest of the GUI will work just fine.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

here is some code: from Tkinter import * class Main(object): def __init__(self): self.console =
Here is my sample code: from xml.dom.minidom import * def make_xml(): doc = Document()
Here's a snippet of code from within TurboGears 1.0.6: [dispatch.generic(MultiorderGenericFunction)] def run_with_transaction(func, *args, **kw):
Here's some code from Richard Jones' Blog : with gui.vertical: text = gui.label('hello!') items
Here's the test case... import Tkinter as tk import thread from time import sleep
Here is code from MSDN . I don't understand why the work isn't just
Here's the code from the ascx that has the repeater: <asp:Repeater ID=ListOfEmails runat=server >
I have got the following code from here to read an Excel file using
I'm using some code from here to determine when determining when the last finger
I found this code from here: http://www.cssportal.com/form-elements/text-box.htm But the problem is you can still

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.