Python - 如何删除所选列表框项目周围的边框?
Python - how to remove border around selected ListBox item?
这是一个小问题,但我下午的大部分时间都在努力解决这个问题,但一无所获,所以就解决了。我将要编写一个需要使用 ScrolledListBox() 的 Python 脚本。我以前从未使用过它,所以我从一个实验脚本开始,在那里我可以玩它并熟悉它。我现在有了脚本,我可以在其中双击一个项目,然后在处理程序中将所选项目正确打印到标准输出。 However, I notice that when the item is selected, either with a single or double click, a rectangular border appears around the item in the list and remains there until another item is selected.我一直在尝试看看是否有办法摆脱这个边界,但到目前为止一直无法这样做。这是我尝试过的:
1) 感谢本论坛的另一个 post,我发现 keys() 方法会为我提供小部件可用选项的列表。因此,给定一个名为 slb1 的 ScrolledListBox,我可以执行类似 print(slb1.keys()) 的操作,并且我得到了我可以在小部件上配置的所有内容的完整列表。其中之一是 'selectborderwidth' 所以我做了: slb1.configure(selectborderwidth=0) 认为这会删除边框。没有。
2) 接下来我翻阅了我的 "Python and Tkinter" 副本并发现了 selection_clear(first, last=None) 方法。描述指出,"If any of the elements between first and last (inclusive) are selected, they are deselected." 所以我尝试了: slb1.selection_clear(0, None) 在处理程序中,但项目周围的矩形边框仍然存在。
我刚刚开始使用 Python 和 Tkinter,所以希望我遗漏了一些有更多经验的人知道的东西。关于如何摆脱边界有什么想法吗?
谢谢,
戴夫
documentation by New Mexico Tech 列出了 Listbox
小部件的属性,其中 activestyle
是使用 Tkinter 时的一个很好的参考。此参数是指当前活动(不一定选中)项周围的框,可以取值 underline
、dotbox
和 none
.
如果将 activestyle
设置为 none
,虚线边框将消失。
这是一个小问题,但我下午的大部分时间都在努力解决这个问题,但一无所获,所以就解决了。我将要编写一个需要使用 ScrolledListBox() 的 Python 脚本。我以前从未使用过它,所以我从一个实验脚本开始,在那里我可以玩它并熟悉它。我现在有了脚本,我可以在其中双击一个项目,然后在处理程序中将所选项目正确打印到标准输出。 However, I notice that when the item is selected, either with a single or double click, a rectangular border appears around the item in the list and remains there until another item is selected.我一直在尝试看看是否有办法摆脱这个边界,但到目前为止一直无法这样做。这是我尝试过的:
1) 感谢本论坛的另一个 post,我发现 keys() 方法会为我提供小部件可用选项的列表。因此,给定一个名为 slb1 的 ScrolledListBox,我可以执行类似 print(slb1.keys()) 的操作,并且我得到了我可以在小部件上配置的所有内容的完整列表。其中之一是 'selectborderwidth' 所以我做了: slb1.configure(selectborderwidth=0) 认为这会删除边框。没有。
2) 接下来我翻阅了我的 "Python and Tkinter" 副本并发现了 selection_clear(first, last=None) 方法。描述指出,"If any of the elements between first and last (inclusive) are selected, they are deselected." 所以我尝试了: slb1.selection_clear(0, None) 在处理程序中,但项目周围的矩形边框仍然存在。
我刚刚开始使用 Python 和 Tkinter,所以希望我遗漏了一些有更多经验的人知道的东西。关于如何摆脱边界有什么想法吗?
谢谢, 戴夫
documentation by New Mexico Tech 列出了 Listbox
小部件的属性,其中 activestyle
是使用 Tkinter 时的一个很好的参考。此参数是指当前活动(不一定选中)项周围的框,可以取值 underline
、dotbox
和 none
.
如果将 activestyle
设置为 none
,虚线边框将消失。