您的位置:首页 > 编程语言 > Python开发

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

2020-04-24 08:24 746 查看


文章目录

一、前言

当我们需要提供一个可供用户调整的多空间框架的时候,可以使用 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 (备注:物联网项目交流)。

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

静晨出品:静之所想,晨之所计

  • 点赞
  • 收藏
  • 分享
  • 文章举报
静晨66 发布了19 篇原创文章 · 获赞 1 · 访问量 384 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: