3

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

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

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

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

4

1 回答 1

3

Tkinter 没有 ScrolledListBox 类。您能否更具体地了解您正在使用哪个 ScrolledListBox 实现?

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

在对此答案的评论中,您说您正在使用 pmw.ScrolledListBox。根据ScrolledListBox 小部件的文档

此外,来自 Tkinter.Listbox 类的方法由这个 megawidget 转发到列表框组件。

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

the_widget.see(index)

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

于 2012-04-14T17:26:14.777 回答