Python - 如何删除选定ListBox项目周围的边框?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 如何删除选定ListBox项目周围的边框?相关的知识,希望对你有一定的参考价值。

这是一个小问题,但我一直在下午的大部分时间都在苦苦挣扎,所以这里就是这样。我即将编写一个需要使用ScrolledListBox()的Python脚本。从来没有使用它,我开始用一个实验性的脚本,我可以玩它并熟悉它。我现在有脚本,我可以双击一个项目,并在处理程序中,正确打印所选项目到标准输出。但是,我注意到当选择项目时,无论是单击还是双击,列表中的项目周围都会出现一个矩形边框,并保持不变直到选中另一个项目。我一直试图看看是否有办法摆脱这个边界,但到目前为止一直无法这样做。这是我尝试过的:

1)感谢这个论坛中的另一篇文章,我发现keys()方法会给我一个窗口小部件的可用选项列表。因此,给定一个名为slb1的ScrolledListBox,我可以执行类似print(slb1.keys())的操作,并获得了我可以在窗口小部件上配置的所有内容的完整列表。其中一个是'selectborderwidth',所以我做了:slb1.configure(selectborderwidth = 0)认为这会删除边框。它没有。

2)接下来,我挖掘了我的“Python和Tkinter”副本并发现了selection_clear(first,last = None)方法。描述说明,“如果选择了第一个和最后一个(包括)之间的任何元素,则取消选择它们。”所以我尝试了处理程序中的slb1.selection_clear(0,None),但项目周围的矩形边框仍然存在。

我刚刚开始使用Python和Tkinter,所以希望我找不到有经验的人知道的东西。关于如何摆脱边界的任何想法?

谢谢,戴夫

答案

使用Tkinter时,documentation by New Mexico Tech可以作为一个很好的参考,列出了Listbox小部件的属性,其中包括activestyle。此参数引用当前活动(不一定是选定的)项目周围的框,并且可以取值underlinedotboxnone

如果将activestyle设置为none,虚线边框将消失。

以上是关于Python - 如何删除选定ListBox项目周围的边框?的主要内容,如果未能解决你的问题,请参考以下文章

VBA中如何使用ListBox控件呢?

WPF绑定第二个ListBox与第一个ListBox中的选定项目相关

创建以ListBox的项目命名的多个文件夹

使用 listboxfor/listbox 进行多项选择,仅发布最后一个选定项目

WPF ListBox 值来自另一个选定的 ListBox 项,然后上下移动

检查绑定到 MVVM 应用程序中 ObservableCollection 的 ListBox 中的选定项目