带你走进机器人时代 Discover点击上面蓝色文字,关注我们 Tkinter布局管理控件有Frame控件、LabelFrame控件、PanedWindow控件、Toplevel控件四个常用的控件。 下面我们来看看这些控件怎么使用,都有哪些不同的用途: Topleve控件是一个顶级窗口控件(也被称为子窗体控件)先来看一个简单的例子:importtkinterastkwtk。Tk()w。geometry(500x190710410)w。title(工作机器人时代微信公众平台)w。iconbitmap(1。ico)w。resizable(False,False)布局管理Topleve控件defcp():toptk。Toplevel()top。title(机器工作时代)top。geometry(300x200400300)top。iconbitmap(1。ico)mtk。Label(top,textf机器工作时代的新窗口该窗口的识别码是:{top。frame()},font(微软雅黑,12))m。place(x20,y30)tk。Button(top,text关闭这个窗口,commandtop。destroy)。place(x100,y100)tk。Button(w,text点击打开新面板,width20,height3,commandcp)。place(x50,y50)w。mainloop() 运行效果如下: 我们来看看Toplevel控件的方法: deiconify():在使用iconify()或withdraw()方法后重新显示该窗口 frame():返回窗口识别码 group(window):将窗口加入window窗口群组中 iconify():将窗口图标化(最小化)使用deiconify()方法重新显示 protocol(name,function):绑定回调函数,name参数可以是 1)WMDELETEWINDOW:窗口被关闭的时候; 2)WMSAVEYOURSELF:窗口被保存的时候; 3)WMTAKEFOCUS:窗口获得焦点的时候。 state():设置和获得当前窗口的状态 normal(正常状态) withdrawn(移除窗口) icon(最小化) zoomed(放大) transient(master):指定为master的临时窗口 withdraw():将窗口从屏幕上移动到了主窗口之外 PanedWindow控件也叫窗格界面,提供了手柄功能(设置参数showhandleTrue来启用),通过拖动手柄图标也可以改变每块区域的大小。 我们来看一个范例:fromtkinterimportimporttkinterastkwtk。Tk()w。geometry(700x220710410)w。title(工作机器人时代微信公众平台)w。iconbitmap(1。ico)w。resizable(False,False)创建一个水平方向的窗格控件添加到主窗口中,默认为水平方向mtk。PanedWindow(w)m。pack(filltk。BOTH,expand1)在窗口区的左侧添加两个水平方向的Labelltk。Label(m,text机器工作,bg7C8D7C,width10,font(楷体,12))m。add(l)l1tk。Label(m,text编程区,bg9A80CD,width10,font(楷体,12))m。add(l1)创建一个垂直方向的panedwindow并添加一个手柄并设置分割线样式rtk。PanedWindow(orienttk。VERTICAL,showhandleTrue,sashreliefsunken)添加到m中m。add(r)在r中添加两个垂直方向的标签ktk。Label(r,text可以使用鼠标调整各区域,bg7181C6,height6,font(楷体,12))r。add(k)btk。Label(r,textPython开发,bg8988CD,font(楷体,12))r。add(b)w。mainloop() 该控件有如下方法: add(child)添加一个新的子组件 add(child,option)参数值after,before,sticky forget(child)删除子组件 panecget(child,option)获得子组件的值 paneconfig(child,options)设置子组件的各种选项 panes()将父组件中包含的子组件以列表的形式返回 sashcoord(index)返回一个二元组表示分割线的起点坐标 sashplace(index,x,y)将指定的分割线移动到一个新的位置 LabelFrame控件是Frame控件的变体,其主要作用也是对控件进行分组处理。我们来看一下范例:LabelFrame控件示例:importtkinterastkwtk。Tk()w。geometry(500x200710410)w。title(工作机器人时代微信公众平台)w。iconbitmap(1。ico)w。resizable(False,False)定义第一个容器,使用labelanchorw来设置标题的方位ftk。LabelFrame(w,text销售部,labelanchorw,bg5CA9EE)使用place控制LabelFrame的位置f。place(relx0。1,rely0。2,relwidth0。8,relheight0。6)l1tk。Label(f,text张三)l1。place(relx0。2,rely0。2)l2tk。Label(f,text李四)l2。place(relx0。6,rely0。2)l3tk。Label(f,text王五)l3。place(relx0。2,rely0。6)l4tk。Label(f,text赵六)l4。place(relx0。6,rely0。6)w。mainloop() 运行结果如下图: 其属性如下: bg 设置背景颜色 bd 边框宽度 colormap 颜色映射 cursor 鼠标在Frame上滑过的样式 heightwidth 设置Frame的高度和宽度 highlightbackground 当Frame没有获得焦点的时候高亮边框的颜色 highlightcolor 当Frame获得焦点的时候高亮边框的颜色 highlightthickness 指定高亮边框的宽度,默认值是0 padxpady 距离主窗口在水平垂直方向上的外边距 relief 指定边框的样式,参数值:sunken,raised,groove或ridge,flat takefocus 组件是否接受输入焦点 container 参数值为True,则窗体将被用作容器使用,一些其他程序也可以被嵌入。 Frame控件是最常用的控件,可以在主窗口内放置多个Frame控件,并且每个Frame中还可以嵌套一个或者多个Frame,从而将主窗口界面划分成多个区域。 其用法和属性与LabelFrame控件大同小异,这里就不再累述。 坚持天天学习,每天都能进步一点!! 往期回顾:来来来,送你一个金牌销售机器人,7X24小时不休,不要工资免费用!RPA技术在旅行社销售业务中如何凤凰涅槃??【工资翻三倍】系列:一招搞定九宫图片切割机器人,让你的朋友圈更加炫酷! 本文引用和摘录相关内容,请联系侵删。 END 最后,文章有帮助到你的话【点赞在看】 激励我们分享更多的干货!