如何配置Tkinter列表框以禁用状态保持选中的项目突出显示

时间:2012-07-17 06:40:32

标签: python listbox tkinter

我在配置列表框小部件时遇到问题,即使将其设置(以编程方式)到DISABLED状态,选择仍会突出显示。下面的代码显示了问题:

from Tkinter import *
master = Tk()
listbox = Listbox(master)
listbox.pack()
listbox.insert(END, "Text1")
listbox.insert(END, "Text2")
listbox.insert(END, "Text3")
listbox.selection_set(first=0, last=None)
listbox.configure(exportselection=False)
listbox.configure(state=DISABLED)

现在,当我将状态更改为NORMAL时,正在突出显示所选项目。有没有办法可以禁用小部件(即鼠标点击没有响应)但保持所选对象保持突出显示?

意图: 我想在我正在创建的向导App上使用这个小部件。我希望这个小部件指示用户选择的当前页面/向导编号。我可以使用其他任何小部件而不是它吗? (标签可能?)

1 个答案:

答案 0 :(得分:5)

您可以启用它但删除或覆盖所有默认绑定;这会给你你想要的效果。

您可以通过删除“Listbox”绑定标签或添加覆盖默认绑定的绑定来删除所有默认绑定。

以下是如何设置bindtags以便删除所有标准Listbox绑定:

listbox.bindtags((listbox, master, "all"))