将Tkinter滚动条跳转到某个小部件

发布

我已经在Tkinter GUI中添加了一些滚动条功能,如下所示

self.canvas = tk.Canvas(self.baseframe)
self.scrollbar = tk.Scrollbar(self.baseframe, orient="vertical", command=self.canvas.yview)
self.scrollable = tk.Frame(self.canvas)
self.scrollable.bind("<Configure>", lambda e: self.canvas.configure(scrollregion=self.canvas.bbox("all")))
self.canvas.create_window((0, 0), window=self.scrollable, anchor="n")
self.canvas.configure(yscrollcommand=self.scrollbar.set)
self.canvas.bind_all("<MouseWheel>", self._mousescroll)

我定义_mousecroll()

    def _mousescroll(self, event):
        """mouse wheel scroll callback"""
        # Divide the event.delta by some value to effect the scrolling speed
        self.canvas.yview_scroll(int(-1*(event.delta/120)), "units")

效果很好。

然后,我tkLabelFrame向滚动区域添加一些小部件(它们本身包含显示内容的小部件-与该问题无关)。整个滚动功能效果很好。

在我的GUI的其他部分,我希望用户能够通过单击按钮来“跳转”到滚动区域中的特定点。实际上,将滚动区域自动滚动到此点。这可能吗?我对GUI代码具有完全控制权,因此我可以将标签添加到tkLabelFrames列表中,将它们存储在某种列表/字典中,以便可以轻松地查找它们……类似的东西?

注意:tkLabelFrames添加到滚动区域中的数字是动态的,因此某种绝对的“跳转到这么多像素”可能不起作用。我希望可能会有某种“滚动到带有此标签/属性等的小部件”功能。任何帮助表示赞赏。谢谢。

发布

对于我的特定情况,可滚动区域内的小部件高度均相同,因此我能够使用简单的分数来滚动至正确的位置。

添加一个带有回调的按钮对这样的方法对我有用:

def scrollto(self, idx):
    # Where self.frames is the list of tkLabelFrame objects.
    fraction = float(idx/len(self.frames))

    # self.canvas is my scrollable canvas
    self.canvas.yview_moveto(fraction)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tkinter中消息小部件的滚动条

来自分类Dev

Tkinter中消息小部件的滚动条

来自分类Dev

框架内的 Tkinter 滚动条小部件

来自分类Dev

如何禁用 TKinter 滚动条小部件?

来自分类Dev

将滚动条添加到Tkinter Entry或Text小部件

来自分类Dev

滚动条在Tkinter中使用网格布局滚动文本小部件

来自分类Dev

如何设置Tkinter.Text小部件滚动条的宽度?

来自分类Dev

如何为tkinter Scale小部件滚动条使用非整数,浮点值?

来自分类Dev

无法在tkinter中将滚动条添加到文本小部件(其中包含多个框架)

来自分类Dev

如何为tkinter Scale小部件滚动条使用非整数,浮点值?

来自分类Dev

Python-Tkinter删除滚动条和条目小部件之间的空间

来自分类Dev

Python3 tkinter 在小部件上放置了不可见的滚动条?

来自分类Dev

如何在小部件中添加垂直滚动条?

来自分类Dev

Firefox滚动条不反映小部件主题选择

来自分类Dev

tkinter-连接到文本窗口小部件的滚动条可见,但是没有任何滑块。

来自分类Dev

Libgdx-小部件失去焦点时滚动窗格中的滚动条消失

来自分类Dev

如何使用一个滚动条滚动两个平行的文本小部件?

来自分类Dev

Tkinter怪异的滚动条

来自分类Dev

如何在Android小部件“ ScrollView”中编辑滚动条的高度?

来自分类Dev

Twitter小部件+自定义滚动条使Feed的样式消失

来自分类Dev

提供D3小部件的滚动条

来自分类Dev

如何在Flutter中更改滚动条小部件的颜色?

来自分类Dev

相对于Tk()完美调整Text小部件的大小,以仅显示滚动条

来自分类Dev

网格布局中的文本小部件上的Python滚动条

来自分类Dev

在Qt中将滚动条添加到小部件的最快,最好的方法

来自分类Dev

美国宇航局小部件上滚动条的问题

来自分类Dev

tkinter滚动条没有滚动条

来自分类Dev

Qt-无效使用不完整的类型'class QScrollBar'-将水平滚动条添加到文本编辑小部件

来自分类Dev

Python Tkinter滚动条摇晃滚动

Related 相关文章

  1. 1

    Tkinter中消息小部件的滚动条

  2. 2

    Tkinter中消息小部件的滚动条

  3. 3

    框架内的 Tkinter 滚动条小部件

  4. 4

    如何禁用 TKinter 滚动条小部件?

  5. 5

    将滚动条添加到Tkinter Entry或Text小部件

  6. 6

    滚动条在Tkinter中使用网格布局滚动文本小部件

  7. 7

    如何设置Tkinter.Text小部件滚动条的宽度?

  8. 8

    如何为tkinter Scale小部件滚动条使用非整数,浮点值?

  9. 9

    无法在tkinter中将滚动条添加到文本小部件(其中包含多个框架)

  10. 10

    如何为tkinter Scale小部件滚动条使用非整数,浮点值?

  11. 11

    Python-Tkinter删除滚动条和条目小部件之间的空间

  12. 12

    Python3 tkinter 在小部件上放置了不可见的滚动条?

  13. 13

    如何在小部件中添加垂直滚动条?

  14. 14

    Firefox滚动条不反映小部件主题选择

  15. 15

    tkinter-连接到文本窗口小部件的滚动条可见,但是没有任何滑块。

  16. 16

    Libgdx-小部件失去焦点时滚动窗格中的滚动条消失

  17. 17

    如何使用一个滚动条滚动两个平行的文本小部件?

  18. 18

    Tkinter怪异的滚动条

  19. 19

    如何在Android小部件“ ScrollView”中编辑滚动条的高度?

  20. 20

    Twitter小部件+自定义滚动条使Feed的样式消失

  21. 21

    提供D3小部件的滚动条

  22. 22

    如何在Flutter中更改滚动条小部件的颜色?

  23. 23

    相对于Tk()完美调整Text小部件的大小,以仅显示滚动条

  24. 24

    网格布局中的文本小部件上的Python滚动条

  25. 25

    在Qt中将滚动条添加到小部件的最快,最好的方法

  26. 26

    美国宇航局小部件上滚动条的问题

  27. 27

    tkinter滚动条没有滚动条

  28. 28

    Qt-无效使用不完整的类型'class QScrollBar'-将水平滚动条添加到文本编辑小部件

  29. 29

    Python Tkinter滚动条摇晃滚动

热门标签

归档