18_组件PanedWindow

PanedWindow

空间管理组件
为组件提供了一个框架,允许用户调整应用程序的划分。
import tkinter as tk

window = tk.Tk()
window.title('hello thinter')
height= window.winfo_screenheight()
width= window.winfo_screenwidth()
window.geometry('400x300+%d+%d'%((width-400)/2,(height-300)/2))

m1 = tk.PanedWindow(bd=1,bg='blue')	# 创建三个窗口,在窗口上是可以用鼠标进行拖动调整大小的
m1.pack(fill="both", expand=1)

left = tk.Label(m1, text="left pane")
m1.add(left)

m2 = tk.PanedWindow(orient="vertical",bd=1,bg='red')
m1.add(m2)

top = tk.Label(m2, text="top pane")
m2.add(top)

bottom = tk.Label(m2, text="bottom pane")
m2.add(bottom)

window.mainloop()
选项 含义
handlesize 设置手柄尺寸,即正方形边长,默认8像素
showhandle 设置是否显示调节窗格的手柄,默认为False
opaqueresize 1,设置是否可以拖拽调整窗口尺寸,默认True
2,如果设置为False,窗格的尺寸在释放鼠标的时候才更新到新的位置
orient 设置组件分布方式,水平("horizontal"),垂直("vertical")
sashpad 设置每一条分割线到窗格间的间距
sashrelief 1,设置分割线的样式
2,默认值:"flat",设置"sunken","raised","groove"或"ridge"
sashwidth 设置分割线的宽度
其他选项 参考其他组件

add()

add(child, **options)
添加一个新的子组件到窗格中
选项 含义
after、before 添加新的子组件到指定子组件的后,前边
height、width 设置子组件高度,宽度
padx、pady 设置子组件的水平,垂直间距
minsize 1,设置窗格不得低于的值
2,orient="horizontal",设置窗格的宽度不得低于该选项的值
3,orient="vertical",设置窗格的高度不得低于该选项的值
sticky 1,当窗格的尺寸大于子组件时,该选项设置子组件位于窗格的位置
2,可选的值有:"e”、"s”、"w"、"n”以及它们的组合值

forget()

forget(child)
remove(child)
删除一个子组件

identify()

identify(x, y)
给定一个坐标(x, y),返回该坐标所在的元素名称
如果该坐标位于子组件上,返回空字符串
如果该坐标位于分割线上,返回一个二元组(n, 'sash'),n 为 0 表示第一个分割线
如果该坐标位于手柄上,返回一个二元组(n, 'handle'),n 为 0 表示第一个手柄

panecget()

panecget(child, option)
获得子组件指定选项的值

paneconfig()

paneconfig(child, **options)
paneconfigure(child, **options)
设置子组件的各种选项
选项 含义
after、before 添加新的子组件到指定子组件的后,前边
height、width 设置子组件高度,宽度
padx、pady 设置子组件的水平,垂直间距
minsize 1,设置窗格不得低于的值
2,orient="horizontal",设置窗格的宽度不得低于该选项的值
3,orient="vertical",设置窗格的高度不得低于该选项的值
sticky 1,当窗格的尺寸大于子组件时,该选项设置子组件位于窗格的位置
2,可选的值有:"e”、"s”、"w"、"n”以及它们的组合值

panes()

将子组件以列表的形式返回

sash_coord()

sash_coord(index)
返回一个二元组表示指定分割线的起点坐标

sash_dragto()

sash_dragto(index, x, y)
实现将指定的分割线拖拽到一个新的位置
与 sash_mark() 一起实现

sash_mark()

sash_mark(index, x, y)
注册当前的鼠标位置

sash_place()

sash_place(index, x, y)
将指定分割线移动到一个新的位置
posted @   interesting5319  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示