微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Tkinter中访问超出窗口大小的条目

如何解决如何在Tkinter中访问超出窗口大小的条目

我正在创建一个包含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()

Output image

解决方法

列表框

滚动条几乎总是与列表框,画布或文本小部件一起使用。要将垂直滚动条连接到这些小部件之一,您必须做两件事:

  1. 将小部件的yscrollcommand回调设置为滚动条的set方法。
  2. 将滚动条的命令设置为小部件的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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。