尽管为所有行赋予权重,grid_propagate(0) 仍无法正常工作

grid_propagate(0) isn't working despite giving weights to all rows

我对 dealer_score_no.grid_propagate(0)player_score_no.grid_propagate(0) 有疑问,它们分别是庄家和闲家的分数。我尝试调整字体大小,或在游戏过程中删除分数标签,但我得到的是四处弹跳的行。我尝试配置行的权重,问题是我真的不知道我需要哪些权重。我猜我做错了什么。我找到了一种绕过它的方法,只需放弃调整大小,简单地删除分配给它们的文本变量(我知道命名不当)并将文本重置为空字符串,效果很好。没有更多的弹跳行。但我仍然想知道如何使用权重和 grid_propagate(0) 选项。

felt = tkinter.Frame(mainWindow,
                     bg=FELT_COLOR)  # , relief='groove', borderwidth='3')
felt.grid(row=1, column=0, sticky='wens', columnspan=3)

# Dealer cards and score area
dealer_score_label = tkinter.IntVar()
dealer_card_frame = tkinter.Frame(felt, height=card_frame_height, width=800,
                                  background=FELT_COLOR, bd=0, relief="groove")
dealer_card_frame.grid(row=0, column=1, columnspan=3, padx=400, sticky='w')
dealer_score_obj = tkinter.Label(felt, text='',
                                 background=FELT_COLOR, fg=themes[theme]['card_frame_lbl_fg'])
dealer_score_obj.grid(row=1, column=1, columnspan=3, sticky='n', pady=4)
dealer_score_obj.place()
dealer_score_no = tkinter.Label(felt,
                                font=font.Font(size=18), background=FELT_COLOR,
                                fg=themes[theme]['card_frame_lbl_fg'])
dealer_score_no.grid(row=2, column=1, columnspan=3, sticky='n', pady=8)
dealer_score_no.grid_propagate(0)

# Player's score area
player_score_label = tkinter.IntVar()
player_score_obj = tkinter.Label(felt, text='',
                                 background=FELT_COLOR, fg=themes[theme]['card_frame_lbl_fg'])
player_score_obj.grid(row=3, column=1, columnspan=3, sticky='sew', pady=(200, 0))
player_score_no = tkinter.Label(felt,
                                font=font.Font(size=18), background=FELT_COLOR,
                                fg=themes[theme]['card_frame_lbl_fg'])
player_score_no.grid(row=4, column=1, columnspan=3, sticky='n', pady=8)
player_score_no.grid_propagate(0)

player_card_frame = tkinter.Frame(felt, height=card_frame_height, width=800,
                                  background=FELT_COLOR, bd=0, relief="groove")
player_card_frame.grid(row=5, column=1, columnspan=3, padx=400, sticky='sw')

betting_frame = tkinter.Frame(felt, height=100, bg=FELT_COLOR, width=int(mainWindow.winfo_screenwidth() * 0.66))
betting_frame.grid(row=6, column=1, columnspan=3, sticky='ew')
felt.config(height=felt.winfo_reqheight())```

[![This is how it looks like.][1]][1]


  [1]: https://i.stack.imgur.com/Ae4pt.png

grid_propagate 仅当您调用它的小部件有子部件时才重要。如果您在没有子项的小部件上调用它,它将无效。