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

如何在Tkinter指定区域创建自定义尺寸框架并放置组件

解决Tkinter红色框架内组件消失及方形按钮实现问题

问题根源

  1. 你当前的frm_display挂载在绿色的frm_main上,而非目标红色frm_filter,与需求不符。
  2. 未对frm_filter的网格行列做配置,即便放入组件,也会因布局规则无法正常显示。
  3. frm_display尺寸设置过小(10x20),即便显示也难以被观察到。

修正后的完整代码

import tkinter as tk
import webbrowser

def open_link(url):
    # 点击按钮打开指定链接
    webbrowser.open(url)

window = tk.Tk()
window.geometry("1800x1000")
IngredientList = []

# 主框架:红色过滤器框架、绿色主内容框架
frm_filter = tk.Frame(master=window, bg="red", height=500, width=300)
frm_main = tk.Frame(master=window, bg="green", height=1000, width=1000)

# 禁用框架尺寸自动调整,保持设定宽高
frm_main.grid_propagate(False)
frm_filter.grid_propagate(False)

# 主窗口的行列配置
window.columnconfigure(0, weight=1, minsize=75)
window.columnconfigure(1, weight=1, minsize=200)
window.rowconfigure(1, weight=1)  # 确保行适配窗口拉伸

# 放置主框架
frm_filter.grid(row=1, column=0, sticky="nsew")
frm_main.grid(row=1, column=1, sticky="nsew")

# -------------------------- 红色框架内的子框架与按钮实现 --------------------------
# 配置红色框架的3行3列网格,用于放置等尺寸按钮
for i in range(3):
    frm_filter.columnconfigure(i, weight=1)
    frm_filter.rowconfigure(i, weight=1)

# 按钮文本与对应链接
button_info = [
    ("按钮1", "https://example.com/1"),
    ("按钮2", "https://example.com/2"),
    ("按钮3", "https://example.com/3"),
    ("按钮4", "https://example.com/4"),
    ("按钮5", "https://example.com/5"),
    ("按钮6", "https://example.com/6"),
    ("按钮7", "https://example.com/7"),
    ("按钮8", "https://example.com/8"),
    ("按钮9", "https://example.com/9"),
]

# 批量创建等尺寸方形按钮并绑定跳转事件
for idx, (text, url) in enumerate(button_info):
    row = idx // 3
    col = idx % 3
    btn = tk.Button(frm_filter, text=text, command=lambda u=url: open_link(u))
    btn.grid(row=row, column=col, sticky="nsew", padx=2, pady=2)

关键说明

  • 组件挂载目标:所有要放入红色框架的组件,master必须设为frm_filter。
  • 网格行列配置:给frm_filter的行列设置weight=1,确保子组件能自动填充对应单元格,实现等尺寸效果。
  • 按钮尺寸控制:按钮的sticky="nsew"属性会让它填满所在网格单元格,配合框架行列配置得到方形按钮。
  • 链接跳转处理:用lambda表达式给每个按钮绑定独立链接,避免循环中变量被覆盖的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 16:23:17