python - 我怎样才能在 Tkinter 中获得带有滚动条的框架?

标签 python scrollbar tkinter frame

我想要一个 Frame,用户可以在其中添加应用程序所需的尽可能多的文本字段。

该应用程序以一个文本字段和该文本字段下方的按钮开始。当用户按下按钮时,将在第一个文本条目下方添加一个新文本条目(这可能会重复无数次)。在窗口的中间,会有一个Text widget,用来显示文本:)

但是,我在文档中注意到了这一点:

此小部件用于实现滚动列表框、 Canvas 和文本字段。

有没有办法在 Frame 中使用 Scrollbar

最佳答案

如果你可以使用 Tix,那么有一个 ScrolledWindow 小部件,它有一个 window Frame 和一个或两个 Scrollbar 小部件:

import Tix as tk

r= tk.Tk()
r.title("test scrolled window")
sw= tk.ScrolledWindow(r, scrollbar=tk.Y) # just the vertical scrollbar
sw.pack(fill=tk.BOTH, expand=1)
for i in xrange(10):
    e= tk.Entry(sw.window)
    e.pack()
r.mainloop()

改变根窗口的大小。您需要将代码添加到 Entry 小部件的 focus_get 事件,以便在通过键盘进行 Tab 键时滚动 ScrolledWindow。

否则,您将不得不使用 Canvas 小部件(您可以添加 Label、Entry 和 Text 子小部件)并自己编写更多代码来实现所需的功能。

关于python - 我怎样才能在 Tkinter 中获得带有滚动条的框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873575/

相关文章:

python - 如何通过多个文本字符串查找元素?

html - 如何获取滚动事件?

java - 为什么一旦我改变窗口大小,Swing 应用程序的视口(viewport)大小也会发生变化?

python - 我将如何为与以下代码相关的程序创建一个重置按钮?

python - 7段显示tkinter

python - 为什么从工作线程更新 tkinter 小部件似乎有效?

python - 根据条件将列表拆分为多个列表

python - 将 int 分配给 pandas 列表列中的字符串

python - 如何提高分类的F1分数

html - 可以限制 slider 在(垂直)滚动条上向下移动的距离吗?