gpt4 book ai didi

python - Tkinter:列表框请表现得好一点

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:34 25 4
gpt4 key购买 nike

import Tkinter
def selector():
...
selections_scroller = Tkinter.Scale(b_action, from_=0, to=len(ymls))
...
pos = int(selection.curselection()[0])
loaded = ymls[pos]
stuff_loaded = True
p_cost.set(loaded[4])
print loaded
...
def find_pos(event):
selector()
selection.bind("<Button-1>", find_pos)

现在首先要注意的是,这不是全部代码,所以不要问 yml 是什么,它们可以正常工作。 (它们是列表中的一堆元组)我添加了这些部分,因为为了使列表框成功打印“已加载”,我需要执行“find_pos”两次。第一次出现以下错误:

Exception in Tkinter callback
Traceback (most recent call last):
... (location) ...
pos = int(selection.curselection()[0])
IndexError: tuple index out of range

据我了解第一次执行时:

loaded = ()

但之后它会返回正确的值。为什么会这样呢?请帮忙并谢谢:D

最佳答案

当前选择由类绑定(bind)设置。类绑定(bind)小部件特定的绑定(bind)之后触发。因此,第一次绑定(bind)触发时没有选择。第二次触发时,它将显示之前选择的内容。

您应该绑定(bind) <<ListboxSelect>>如果您想在选择更改时执行某些操作。绑定(bind)意味着无论用户单击它还是使用键盘绑定(bind),您的代码都将起作用。

关于python - Tkinter:列表框请表现得好一点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com