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

如何在CustomTkinter中实现开关关闭时调用函数?

在CustomTkinter中实现开关关闭时调用函数的方法

CustomTkinter的CTkSwitch组件没有单独的"关闭事件"绑定,核心逻辑是:开关状态切换(无论开→关还是关→开)时,command绑定的函数都会触发。你只需要在回调函数里判断开关当前的状态,就能分别处理开启和关闭的逻辑。

示例代码

import customtkinter as ctk

def handle_switch(switch):
    # 获取开关当前状态:True为开启,False为关闭
    state = switch.get()
    if state:
        # 这里写开关开启时的逻辑
        print("开关开启,执行开启操作")
    else:
        # 这里写开关关闭时的逻辑
        print("开关关闭,执行关闭操作")

# 初始化窗口
app = ctk.CTk()
app.geometry("300x150")

# 创建开关,用lambda把开关对象传入回调函数
test_switch = ctk.CTkSwitch(app, text="功能开关", command=lambda: handle_switch(test_switch))
test_switch.pack(pady=50)

app.mainloop()

关键说明

  • 用lambda传递开关对象给回调函数,这样才能在函数内通过switch.get()获取实时状态
  • 无需额外绑定关闭事件,状态切换的所有场景都由同一个command函数处理,通过布尔值判断分支即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 20:10:25