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

Tkinter列表框选中时编辑按钮无法切换为激活状态求助

Tkinter:Listbox选中状态关联按钮禁用/激活失效问题

我编写了一个函数,用于创建包含按钮和Listbox的Toplevel窗口,需求是当Listbox中无选中项时,编辑按钮处于禁用状态;有选中项时按钮激活。

当前代码如下:

def edit_page():
    window3 = Toplevel()
    frame3= Frame(window3)
    frame3.pack(side=TOP)
    color_list = Listbox(frame3)
    color_list.grid(row=1,column=0)

    edit_button = Button(frame3,text="Edit",command=fav_edit)
    edit_button.grid(row=4,column=4) 

    if len(color_list.curselection()) > 0  :
        edit_button.config(state=ACTIVE)
    else:
        edit_button.config(state=DISABLED)

这段代码未按预期工作:打开新窗口时按钮处于禁用状态,点击Listbox选中项后仍保持禁用。

如果翻转if/else中的ACTIVE和DISABLED状态:

if len(color_list.curselection()) > 0  :
        edit_button.config(state=DISABLED)
    else:
        edit_button.config(state=ACTIVE)

编辑按钮会一直保持激活状态,即使Listbox被选中也不会改变状态。

请问这是窗口未更新导致的吗?是否需要其他实现方式?盼求帮助。

补充:我的Listbox中实际包含项/元组,示例代码中未体现这一点。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:20:47