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)
将指定分割线移动到一个新的位置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理