Python怎么生成带有滚动功能控件的scrollable函数
本篇内容主要讲解“Python怎么生成带有滚动功能控件的scrollable函数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么生成带有滚动功能控件的scrollable函数”吧!
十多年的曲阳网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整曲阳建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“曲阳网站设计”,“曲阳网站推广”以来,每个客户项目都认真落实执行。
当程序达到一定规模后,经常会希望构建带滚动功能的控件。例如下图中的FileBrowser,无论是左侧的TreeView还是右侧的ListView都带有水平和垂直两个Scrollbar控件。
Tkinter中生成带有Scrollbar的控件的代码大致如下:
#生成Frame容器以容纳TreeView,Scrollbartree_area = Frame(paned_window)# 设定水平伸展tree_area.grid_rowconfigure(0, weight=1)# 设定垂直伸展tree_area.grid_columnconfigure(0, weight=1)# 生成TreeViewtree_view = Treeview(tree_area, show='tree', selectmode='browse')# 设定TreeView布局位置tree_view.grid(row=0, column=0, sticky='nsew')# 生成垂直滚动条scroll_ty = Scrollbar(tree_area, orient=VERTICAL, command=tree_view.yview)# 设定滚动条布局位置scroll_ty.grid(row=0, column=1, sticky=N+S)# 关联滚动动作tree_view['yscrollcommand']=scroll_ty.set# 生成水平滚动条scroll_tx = Scrollbar(tree_area, orient=HORIZONTAL, command=tree_view.xview)# 设定滚动条布局位置scroll_tx.grid(row=1, column=0, sticky=E+W)# 关联滚动动作tree_view['xscrollcommand']=scroll_tx.set
逻辑虽然清晰,但是同样的事情多次重复总是比较麻烦,为此作者设计了如下的scrollable函数,用以简化此过程:
def scrollable(master, w_type, **kwargs): # 获取SizeGrip设定内容 size_grip = kwargs.get('size_grip') # 从关键词参数中去掉'size_grip'设定 if size_grip: kwargs.pop('size_grip') # 构建Frame控件 frame = Frame(master) # 设定控件水平伸展 frame.grid_rowconfigure(0, weight=1) # 设定控件垂直伸展 frame.grid_columnconfigure(0, weight=1) # 构建控件 widget = w_type(frame, **kwargs) # 设定控件布局 widget.grid(row=0, column=0, sticky='nsew') # 构建垂直Scrollbar scroll_y = Scrollbar(frame, orient=VERTICAL, command=widget.yview) # 设定控件布局 scroll_y.grid(row=0, column=1, sticky=N + S) # 绑定滚动动作 widget['yscrollcommand'] = scroll_y.set # 构建水平Scrollbar scroll_x = Scrollbar(frame, orient=HORIZONTAL, command=widget.xview) # 设定控件布局 scroll_x.grid(row=1, column=0, sticky=E + W) # 绑定滚动动作 widget['xscrollcommand'] = scroll_x.set # 生成Sizegrip控件 if size_grip: Sizegrip(frame).grid(row=1, column=1) return frame,widget
虽然内容基本相同,只是进行了简单的封装,但产生的效果却很明显:构建同样的具有滚动功能的Treeview的代码从20多行变成了1行!
tree_area, tree_view = scrollable(paned_window, Treeview, show='tree', selectmode='browse')
还有一个好处是scrollable的使用根本无需了解Scrollbar的用法。
到此,相信大家对“Python怎么生成带有滚动功能控件的scrollable函数”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文章标题:Python怎么生成带有滚动功能控件的scrollable函数
分享网址:http://scyanting.com/article/ihijco.html