问题描述
我正在创建一个包含40个标签和条目的表单。问题是,在窗口大小达到最大值之后,我可以输入直到20,并且看不到下面的条目。如何在Tkinter主窗口中集成滚动选项?我知道滚动条不能集成到主窗口中,而只能集成到小部件中。我想要一些东西,以便可以使用鼠标或箭头键滚动或查看下面的内容。下面是我的代码:
from Tkinter import *
root = Tk()
root.title('test')
root.geometry("400x400")
for i in range(40):
Label(root,text="Field {} ".format(i)).grid(row=i,column=0)
value=Entry(root).grid(row=i,column=1)
root.mainloop()
解决方法
列表框
滚动条几乎总是与列表框,画布或文本小部件一起使用。要将垂直滚动条连接到这些小部件之一,您必须做两件事:
- 将小部件的yscrollcommand回调设置为滚动条的set方法。
- 将滚动条的命令设置为小部件的yview方法。
示例
from tkinter import *
master = Tk()
scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT,fill=Y)
listbox = Listbox(master,yscrollcommand=scrollbar.set)
for i in range(40):
listbox.insert(END,Label(master,text=f"Field {i} "))
listbox.insert(END,Entry(master))
listbox.pack(side=LEFT,fill=BOTH)
scrollbar.config(command=listbox.yview)
mainloop()