【问题标题】:Scroll a group of widgets in Tkinter在 Tkinter 中滚动一组小部件
【发布时间】:2013-05-30 15:52:47
【问题描述】:

我想在 Tkinter GUI 中制作一整列可滚动的各种小部件,如下所示:

Tkinter can only attach scrollbars to certain widgets,其中不包括帧。制作可折叠的列是界面中的一种常见做法,应该有一个简单的解决方案,但到目前为止,我能找到的只是this hacky example of a scrollable frame, using a canvas widgetsimilar stack overflow question 中使用了类似的 hacky 解决方案。

Tkinter 中是否有一种普遍接受的方式来制作可滚动的列或一组小部件?

【问题讨论】:

    标签: python tkinter tk


    【解决方案1】:

    使用画布的解决方案解决这个问题的普遍接受的方法。它真的不是那么老套,最终结果可能与拥有原生滚动容器小部件没有区别。

    如果您正在制作单列,另一种选择是使用文本小部件,并使用小部件嵌入其他小部件的能力。插入一个小部件,然后插入一个换行符,插入另一个小部件,等等。然后您就可以免费获得滚动功能。您唯一需要担心的是配置嵌入式窗口的宽度,这并不难。

    【讨论】:

    • Bryan,我注意到使用画布解决方案时无法通过鼠标滚轮滚动的问题。这是我遇到的问题之一。是否也有一个常见的解决方法,或者你会建议在文本小部件中嵌入小部件?
    • @CypressFrankenfeld:我不记得让鼠标滚轮工作的技巧了。这可能与光标位于框架上而不是画布上的事实有关。您始终可以创建自己的鼠标滚轮绑定。
    • 我明白了。有没有办法实现鼠标滚轮滚动,就像它在整个系统的其余部分一样工作?例如,我觉得将鼠标滚轮绑定到事件对于使用两根手指触摸板的人来说并不是很自然。 : /
    猜你喜欢
    • 2011-03-06
    • 2022-12-03
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 2023-02-10
    相关资源
    最近更新 更多