我正在使用tkinterGUI。我将事件绑定到这样的条目:EntryFilePath.bind("<Key>", updateAmountOfPeople)它可以工作,但是问题在于它仅在按下键入输入以外的其他键时才更新。退格键触发它,箭头触发它,而不是字母或数字。我正在寻找此功能。其他可能重要的信息:PathFileName = StringVar()EntryFilePath = Entry(topLeftMidFrame, textvariable = PathFileName, width=45)EntryFilePath.pack(side=TOP, pady=32, padx=10)如何使它在任何键上触发?编辑:我发现这仅在它被选中时才会发生。它一次需要“其他”非[a-Z0-9]键之一,之后就可以使用了。但是,这是有问题的,以防人们立即开始书写。EDIT2:它可能与它具有更新延迟有关。
2 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
绑定应该对每个按键都有效-否则,您正在代码中的其他位置进行某些操作以防止其起作用,或者您的测试存在缺陷。
如果要在值更改时调用函数,则可能需要考虑在与条目窗口小部件关联的变量上设置跟踪。无论值是通过键盘输入,使用鼠标粘贴等,只要值发生更改,跟踪都会触发。当用户使用箭头键或回车键或任何其他不使用此键的回调键时,该跟踪将不会调用您的回调影响价值。
例如:
def var_callback(*args):
print "the variable has changed:", PathFileName.get()
PathFileName.trace("w", var_callback)
慕勒3428872
TA贡献1848条经验 获得超6个赞
可以通过改变来解决
EntryFilePath.bind("<Key>", updateAmountOfPeople)
到
EntryFilePath.bind("<KeyRelease>", updateAmountOfPeople)
添加回答
举报
0/150
提交
取消