【发布时间】:2013-10-30 22:20:18
【问题描述】:
def nextItem(self):
active = self.skill_list_listbox.get(tk.ACTIVE)
listbox_contents = self.skill_list_listbox.get(0, tk.END)
current_pos = listbox_contents.index(active)
if current_pos + 1 < len(listbox_contents):
new_pos = current_pos + 1
self.skill_list_listbox.activate(new_pos)
self.skill_list_listbox.selection_set(tk.ACTIVE)
根据我在文档中看到的内容,这应该会突出显示并激活列表框中的下一项。如果我省略 selection_set 我会得到我正在寻找的东西,但没有指示什么是活动的。添加它会突出显示一个项目,但如果您继续单击“下一步”按钮,它只会添加到突出显示,而不是仅突出显示一个项目,创建一长段突出显示的项目,这是我不想要的。我尝试了几种不同的方法,这让我最接近。如果有一个“明确的选择”方法,我想我可以得到我想要的效果,即选择并突出显示下一个项目,但是 3 次调用只是为了做这件事对于一项常见的任务来说似乎有点多?有什么想法或建议吗?
【问题讨论】:
标签: python-2.7 user-interface tkinter