作为一大堆代码的一部分,我发现tkinter列表框绑定很奇怪。以下代码提供了该问题的细分。将列表框与“ listboxselected”绑定时,在该列表框中选择一个项目,然后双击“ Entry”,将触发一次listboxselected事件。
我已经在python 3.3.2、3.6.3和3.7.1中对此进行了测试。该错误仅在后两个版本中发生。我已经检查过该文档,找不到任何导致此问题的更新。有谁知道为什么会发生这种行为?
from tkinter import Tk, Listbox, Entry, Button
from functools import partial
root = Tk()
myList = Listbox(root)
myList.insert("end", "spam", "eggs", "chips")
myList.pack()
myList.bind("<<ListboxSelect>>", partial(print))
myEntry = Entry(root)
myEntry.pack()
答案 0 :(得分:1)
我无法在OSX上重复此操作,但是我的猜测是,当您双击条目时,将选择条目中的文本。选择文本后(即使没有选择),也会取消选择列表框中的项目。取消选择会触发绑定。
如果您希望同时在列表框和条目中都有内容,请在列表框中设置exportselection=False
。