我想要一个 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/