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

求识别CustomTkinter中该组件的名称及使用方法

识别到的CustomTkinter组件:CTkCollapsibleFrame

你截图里的组件是CTkCollapsibleFrame,它是CustomTkinter的常用扩展组件(部分场景需单独安装对应扩展包,也可通过基础组件手动实现),核心作用是创建可展开/折叠的分层导航面板,适配GUI的侧边菜单需求。

基础使用示例(依赖扩展包)

import customtkinter as ctk
from customtkinter import CTkCollapsibleFrame

# 先安装扩展包:pip install customtkinter-collapsibleframe

ctk.set_appearance_mode("dark")
ctk.set_default_color_theme("blue")

app = ctk.CTk()
app.geometry("450x550")

# 创建侧边容器
sidebar = ctk.CTkFrame(app, width=220)
sidebar.pack(side="left", fill="y", padx=8, pady=8)

# 可折叠菜单:Dashboard
dashboard_menu = CTkCollapsibleFrame(sidebar, text="Dashboard")
dashboard_menu.pack(fill="x", padx=5, pady=5)
# 添加子选项
ctk.CTkButton(dashboard_menu, text="Overview").pack(fill="x", padx=12, pady=3)
ctk.CTkButton(dashboard_menu, text="Analytics").pack(fill="x", padx=12, pady=3)

# 可折叠菜单:Orders
orders_menu = CTkCollapsibleFrame(sidebar, text="Orders")
orders_menu.pack(fill="x", padx=5, pady=5)
ctk.CTkButton(orders_menu, text="Pending").pack(fill="x", padx=12, pady=3)
ctk.CTkButton(orders_menu, text="Completed").pack(fill="x", padx=12, pady=3)

app.mainloop()

手动实现方案(无需扩展包)

如果不想依赖第三方扩展,可通过CTkFrame和CTkButton结合组件的显示/隐藏方法手动实现折叠逻辑:

import customtkinter as ctk

ctk.set_appearance_mode("dark")
ctk.set_default_color_theme("blue")

app = ctk.CTk()
app.geometry("450x550")

sidebar = ctk.CTkFrame(app, width=220)
sidebar.pack(side="left", fill="y", padx=8, pady=8)

# 定义折叠切换函数
def toggle_submenu(subframe):
    if subframe.winfo_ismapped():
        subframe.pack_forget()
    else:
        subframe.pack(fill="x", padx=12, pady=3)

# Dashboard菜单
dashboard_btn = ctk.CTkButton(sidebar, text="Dashboard", command=lambda: toggle_submenu(dashboard_sub))
dashboard_btn.pack(fill="x", padx=5, pady=5)
dashboard_sub = ctk.CTkFrame(sidebar)
dashboard_sub.pack(fill="x", padx=12, pady=3)
ctk.CTkButton(dashboard_sub, text="Overview").pack(fill="x", padx=10, pady=3)
ctk.CTkButton(dashboard_sub, text="Analytics").pack(fill="x", padx=10, pady=3)

app.mainloop()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 12:52:41