在Python Tkinter中使用grid_propagate(False) [英] Using grid_propagate(False) in Python Tkinter

查看:805
本文介绍了在Python Tkinter中使用grid_propagate(False)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个使用网格管理器的框架.而且我有一个标签小部件.我希望标签窗口小部件填充到其所在的框架中.但是,框架将其自身重新调整为标签窗口小部件的大小.我尝试使用方法grid_propagate(False).但是它似乎没有用.我不知道这是否只是我使用它的方式,但是有人可以帮我弄清楚为什么它不起作用吗?

I am creating a frame the uses the grid manager. And I have a label widgets in it. I want the label widget to fill to the frame that it is in. But instead the frame re sizes itself to the label widget. I have tried using the method grid_propagate(False). But it does not seem to be working. I don't know if it is just the way that I am using it but can someone help me figure out why it is not working?

def fields(self):
    frame_row = 0
    frame_column = 0
    row_count = 0
    color = "red"

    for i in range(50):
        self.bfr2.columnconfigure(frame_column, pad=10)
        self.bfr2.rowconfigure(frame_row, pad=10)

        self.frame = Frame(self.bfr2, bg="grey", width=229, height=120)
        self.frame.grid(row=frame_row, column=frame_column)
        self.frame.grid_propagate(False) #This is where it should prevent the Frame from re sizing but it does not.

        self.sum = Label(self.frame, bg="green", text="This is a summary of a note")
        self.sum.pack(side=TOP, fill=BOTH)

        frame_column = frame_column + 1
        row_count = row_count + 1

        if row_count == 2:
            frame_row = frame_row + 1
            frame_column = 0
            row_count = 0

            if color == "red":
                color = "green"
            else:
                color = "red"

        if color == "red":
            color = "green"
        else:
            color = "red"

推荐答案

您正在调用grid_propagate,但随后使用pack()将小部件放入其中.尝试做

You are calling grid_propagate but then using pack() to put widgets in it. Try doing

self.frame.pack_propagate(False)

这篇关于在Python Tkinter中使用grid_propagate(False)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆