Python Tkinter多选列表框

发布于 2021-01-29 15:57:47

我在这里尝试搜索,但没有找到正确的答案。
我有一个使用设置的列表框selection='multiple'。然后,我尝试通过代码获得用户选择的所有选项的列表name.get(ACTIVE)。问题是它并不能总是获得我在列表框GUI中突出显示的所有选项。

如果我突出显示一个,它将正确地带回。
如果我突出显示两个或更多(每次单击一次),则仅返回我选择的最后一个项目。
如果我突出显示了多个,但是单击以取消突出显示,则即使我未突出显示,也是我单击的最后一个项目。

任何帮助都将非常棒。谢谢。我希望代码能带回突出显示的内容。

设置列表框的代码是:

self.rightBT3 = Listbox(Frame1,selectmode='multiple',exportselection=0)

检索选择的代码是:

selection = self.rightBT3.get(ACTIVE)

这是该应用程序实际运行情况的屏幕截图,在顶部可以看到控制台仅注册了一个选择(我单击的最后一个)。

在此处输入图片说明

关注者
0
被浏览
159
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    似乎在Tkinter列表框中获取选定项目列表的正确方法是使用self.rightBT3.curselection(),它返回一个包含选定行的从零开始的索引的元组。然后,您可以get()使用这些索引来每一行。

    (虽然我还没有实际测试过)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看