You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Tkinter Frame自动收缩适配内容?已遇语法错误

解决Tkinter Frame自动收缩的问题

你碰到的语法错误是两个问题导致的:

  • 方法名拼写错误:正确的方法是propagate(),不是你写的propogate()
  • 参数使用错误:Python里的布尔值需要写False(首字母大写),不能用小写的false

修正这两点后,把方法调用加到Frame布局代码之后,就能固定Frame的尺寸,避免它自动收缩适配内部内容。修改后的完整代码如下:

import tkinter as tk

root = tk.Tk()
root.geometry("1280x800")
root.title("  Linc")
root.wm_attributes('-toolwindow', 'True')


# 创建左右两个Frame
left_frame = tk.Frame(root, width=700, height=790, bg='grey' )
left_frame.grid(row=0, column=0, padx=5, pady=5)
# 阻止left_frame自动收缩
left_frame.propagate(False)

right_frame = tk.Frame(root, width=560, height=790, bg='grey')
right_frame.grid(row=0, column=1, padx=5, pady=5)
# 阻止right_frame自动收缩
right_frame.propagate(False)


# left_frame内的内容
ticket = tk.Label(left_frame, text="Original Image").grid(row=1, column=0, padx=5, pady=5)


# pullbutton = tk.Button(text="Pull", command=pull)
# pullbutton.pack(side='top')

# label = tk.Label(text="text")
# label.pack()

# 启动Tkinter主循环
root.mainloop()

另外需要注意:开启propagate(False)后,Frame内部的组件将不再影响Frame的尺寸,你需要自行管理内部组件的布局位置,避免组件超出Frame范围。

内容的提问来源于stack exchange,提问作者Asher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:52:26