python - 如何在Python中滚动到ScrolledListBox中的选定项目?

标签 python listbox scroll tkinter listboxitem

我正在开发一个显示大型项目数据库的应用程序。

还有一个搜索栏,允许用户搜索该数据库,而不是滚动浏览每个项目来查找他们需要的项目。当搜索返回 True 时(已进行匹配),所需信息将显示在文本框中,更多选项将显示在另一个列表框中(现在不滚动),但 ScrolledListBox 不会显示即使我使用 selection_set()list_box.active(),也会自动滚动到所选项目。

我明白了!我必须使用 list_box.yview_scroll() 命令!这需要两个参数: 1) 要去哪里的整数/索引 2)逐行或按页(UNITS或PAGES)

但我确实发现 .see 方法更有效!

最佳答案

Tkinter 没有 ScrolledListBox 类。您能否更具体地说明您正在使用哪种 ScrolledListBox 实现?

话虽这么说,Tkinter 中的可滚动小部件通常有一个 see 方法,该方法将滚动到足以确保传入的索引可见。

在此答案的评论中,您说您正在使用 pmw.ScrolledListBox。根据the documentation for the ScrolledListBox widget :

In addition, methods from the Tkinter.Listbox class are forwarded by this megawidget to the listbox component.

因此,您可以在该小部件上调用您可以在列表框小部件上调用的任何方法。正如我之前提到的,Listbox 类有一个 see 方法,因此您应该能够执行以下操作:

the_widget.see(index)

在上面的示例中,index 是列表框中您想要查看的行。

关于python - 如何在Python中滚动到ScrolledListBox中的选定项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10155153/

相关文章:

python - 如何将地理空间坐标 dataFrame 转换为原生 x,y 投影?

python - Python将函数闭包的名称绑定(bind)存放在哪里?

python - 对正则表达式中的匹配项和不匹配项进行分组

scroll - 在滚动条上添加文字阴影

java - 聚焦并跟随 Swing 中的物体 JPanel

python - mysql接口(interface)错误

c# - 如何将项目从一个列表框拖放到另一个列表框

c# - 如何以编程方式更改列表框边距?

c# - WinForms ListBox 控件上的多行列表项?

javascript - 如何使用 javascript 构建加速滚动效果?