Python GUI开发之Tkinter基础篇13:PanedWindow组件

在这里插入图片描述

一、前言

当我们需要提供一个可供用户调整的多空间框架的时候,可以使用 PanedWindow 组件。PanedWindow 组件会为每一个子组件生成一个独立的窗格,用户可以自由调整窗格的大小。

二、创建一个两窗格的PanedWindow

代码实现:

from tkinter import *

m = PanedWindow(orient = VERTICAL)
m.pack(fill = BOTH,expand = 1)
top = Label(m,text = "top pane",bg = "blue")
m.add(top)
bottom = Label(m,text = "bottom pane",bg = "red")
m.add(bottom)
mainloop()

运行
在这里插入图片描述
在top pane 和 bottom pane中间有一条看不见的横线(由于我们给Label添加了背景色,所以它通过空白显示出来了),移动它上下滑动,可以看见Label组件跟着在变动。

三、创建一个三窗格的PanedWindow

代码实现:

from tkinter import *
 
m1 = PanedWindow()  #默认是左右分布的
m1.pack(fill=BOTH, expand=1)
 
left = Label(m1, text='left pane')
m1.add(left)
 
m2 = PanedWindow(orient=VERTICAL)
m1.add(m2)  #小技巧,在m1组件上添加m2组件
 
top = Label(m2, text='top pane')
m2.add(top)
 
bottom = Label(m2, text='bottom pane')
m2.add(bottom)
 
mainloop()

运行:
在这里插入图片描述
三个Label间有两条隐藏的线,把鼠标放在上面即可拖动,调整Label的大小。

四、将组件中间的线显示出来

代码实现:

from tkinter import *
 
m1 = PanedWindow(showhandle=True, sashrelief=SUNKEN)  #默认是左右分布的
m1.pack(fill=BOTH, expand=1)
 
left = Label(m1, text='left pane')
m1.add(left)
 
m2 = PanedWindow(orient=VERTICAL, showhandle=True, sashrelief=SUNKEN)
m1.add(m2)  
 
top = Label(m2, text='top pane')
m2.add(top)
 
bottom = Label(m2, text='bottom pane')
m2.add(bottom)
 
mainloop()

运行:

在这里插入图片描述

五、结语

如您在使用过程中有任何问题,请加QQ群进一步交流。

QQ交流群:906015840 (备注:物联网项目交流)。

获取资料:微信扫描下方二维码,关注公众号:一个物联网项目的前世今生。

静晨出品:静之所想,晨之所计
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值