python tkinter滚动条与grid_python tkinter框架滚动条放置问题,求教

这篇博客探讨了如何在Python的tkinter库中使用Scrollbars与Grid布局创建带有滚动条的Canvas。通过实例代码,展示了如何将Entry元素动态添加到Canvas上,并实现当Entry元素填满垂直空间时自动出现滚动条的功能。博主遇到了如何使Entry从Canvas顶部开始布局并随着添加逐渐显示滚动条的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fromtkinterimport*root=Tk()i=0b={}win1=Frame(root,height=100,width=100,bg='yellow')win1.grid_propagate(False)win1.grid()Frame1=LabelFrame(root,height=400,width=400)Frame1...

from tkinter import *

root = Tk()

i=0

b={}

win1 = Frame(root, height=100, width=100,bg='yellow')

win1.grid_propagate(False)

win1.grid()

Frame1 = LabelFrame(root,height = 400, width=400)

Frame1.grid(sticky=S)

s = Scrollbar(Frame1, orient = VERTICAL)

s.grid(row = 6, column = 1, sticky = NS)

can = Canvas(Frame1, width =400, height = 400, yscrollcommand=s.set,bg='red')

can.grid(row = 6, column = 0, sticky = NSEW)

win = Frame(can)

can.create_window(0,0, window = win,anchor = W)

s.config(command = can.yview)

Entry(win, width=15).grid(row=0, column=0)

#for i in range(100):

# lbl = Entry(win, text = str(i))

# lbl.grid()

def zhidu():

global b

global i

i=i+1

b['v'+str(i)]= StringVar()

Entry(win, width=15,textvariable=b['v'+str(i)]).grid(row=i, column=0)

win.update_idletasks()

can.configure(scrollregion = (1,1,win.winfo_width(),win.winfo_height()))

#win.update_idletasks()

#can.configure(scrollregion = (1,1,win.winfo_width(),win.winfo_height()))

Button(win1, text="添加", fg="blue",bd=2,width=28,command=zhidu).pack(side=LEFT)

root.mainloop()

界面不太会弄,怎么让entry从canvas顶部出现然后到底部再出滚动条???

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值