Tkinter笔记

布局控件

pack :位置填充

组件函数

常用函数解释
pack(**options)定义属性
pack_configure(**options)跟 pack() 一样
pack_forget()将组件从屏幕中“删除” --并没有销毁该组件,只是看不到了 --可以通过 pack 或其他布局管理器显示已“删除”的组件
pack_info()以字典的形式返回当前的 pack 的选项
pack_propagate(flag)如果开启,父组件会自动调节尺寸以容纳所有子组件 --默认值是开启(flag=True) --该方法仅适用于父组件
pack_slaves()以列表形式返回该组件的所有子组件 --该方法仅适用于父组件
pack_propagate(0)阻止收缩以适合其内容

组件属性

常用属性解释
expand是否填充父组件的额外空间,默认值是 False
side“top”,“left”,“bottom”,“right”,默认值是 “top”
anchor‘n’, ‘e’, ‘s’, ‘w’ , ‘sw’, ‘w’, ‘nw’, ‘center’ , 默认值是 ‘center’
fill指定填充pack分配的空间
默认值是NONE,表示保持子组件的原始尺寸
还可以使用的值有:X(水平填充),Y(垂直填充)和BOTH(水平和垂直填充)
in_将该组件放到该选项指定的组件中
指定的组件必须是该组件的父组件
ipadx指定水平方向上的内边距
ipady指定垂直方向上的内边距
padx指定水平方向上的外边距
pady指定垂直方向上的外边距

自定义位置变量
anchor_LEFT = ‘w’
anchor_RIGHT = ‘e’
anchor_TOP = ‘n’
anchor_BOTTOM = ‘s’
anchor_TOPRIGHT = ‘ne’
anchor_BOTTOMRIGHT = ‘se’
anchor_TOPLEFT = ‘nw’
anchor_BOTTOMLEFT = ‘sw’
anchor_CENTER = ‘center’

配合expand='yes’使用
如:pack(expand=‘yes’, anchor=anchor_BOTTOMRIGHT)

place :位置设定

属性解释
x指定组件的 X 坐标。x 为 0 代表位于最左边。
y指定组件的 Y 坐标。y 为 0 代表位于最右边。
relx指定组件的 X 坐标,以父容器总宽度为单位 1
该值应该在 0.0~1.0 之间
0.0 代表位于窗口最左边
1.0 代表位于窗口最右边
0.5 代表位于窗口中间
rely指定组件的 Y 坐标,以父容器总高度为单位 1
该值应该在 0.0~1.0 之间
0.0 代表位于窗口最上边
1.0 代表位于窗口最下边
0.5 代表位于窗口中间
width指定组件的宽度,以 pixel 为单位。
height指定组件的高度,以 pixel 为单位。
relwidth指定组件的宽度,以父容器总宽度为单位 1
该值应该在 0.0~1.0 之间
1.0 代表整个窗口宽度
0.5 代表窗口的一半宽度。
relheight指定组件的高度,以父容器总高度为单位 1
该值应该在 0.0~1.0 之间
1.0 代表整个窗口高度
0.5 代表窗口的一半高度
bordermode该属性支持“inside”或“outside” 属性值
用于指定当设置组件的宽度、高度时是否计算该组件的边框宽度。

如:place(relx=0.5, rely=0.5, anchor=anchor_CENTER)

grid :网格化位置

属性解释
column指定组件插入的列(0表示第一列)
默认值是0
columnspan指定用多少列(跨列)显示该组件
in_将该组件放到该选项指定的组件中
指定的组件必须是该组件的父组件
ipadx指定水平方向上的内边距
ipady指定垂直方向上的内边距
padx指定水平方向上的外边距
pady指定垂直方向上的外边距
row指定组件插入的行(0表示第一行)
rowspan指定用多少行(跨行)显示该组件
sticky控制组件在grid分配的空间中的位置
可以使用N,E,S,W以及他们的组合来定位
使用加号(+)表示拉长填充,例如N+S表示将该组件垂直拉长填充网格,N+S+W+E表示填充整个网格
不指定该值则居中显示

如:grid(row=0, column=0, rowspan=3)

PanedWindow 空间划分

PanedWindow 组件(Tk8.4 新增)是一个空间管理组件
add(child, **options)

属性解释
background设置背景颜色
bg跟 background 一样
borderwidth设置边框宽度
bd跟 borderwidth 一样
cursor指定当鼠标在 PanedWindow 上飘过的时候的鼠标样式
默认值由系统指定
handlepad调节“手柄”的位置
例如 orient=“vertical”,则 handlepad 选项表示“分割线”上的手柄与左端的距离
默认值是 8 像素
handlesize设置“手柄”的尺寸(由于“手柄”必须是一个正方形,所以是设置正方形的边长)
默认值是 8 像素
height设置 PanedWindow 的高度
如果忽略该选项,则高度由子组件的尺寸决定
opaqueresize该选项定义了用户调整窗格尺寸的操作
如果该选项的值为 True(默认),窗格的尺寸随用户鼠标的拖拽而改变
如果该选项的值为 False,窗格的尺寸在用户释放鼠标的时候才更新到新的位置
orient指定窗格的分布方式
可以是 “horizontal”(横向分布)和 “vertical”(纵向分布)
relief指定边框样式
默认值是 “flat"
另外你还可以设置"sunken”,“raised”,“groove” 或 “ridge”
sashpad设置每一条分割线到窗格间的间距
sashrelief设置分割线的样式
默认值是:"flat"
另外你还可以设置 “sunken”,“raised”,“groove” 或 “ridge”
sashwidth设置分割线的宽度
showhandle设置是否显示调节窗格的手柄
默认值为 False
width设置 PanedWindow 的宽度
如果忽略该选项,则高度由子组件的尺寸决定

bind事件

event属性

属性解释
widget产生该事件的组件
x,y当前鼠标位置坐标(相对于窗口左上角,像素为单位)
x_root,y_root同上
char按键对应字符(键盘事件专属)
keysym按键名
keycode按键码
num按钮数字(鼠标事件专属)
width,height组件的新尺寸(Configure事件专属)
type该事件的类型

鼠标事件

属性解释
1 = Button-1 =ButtonPress-1鼠标左键单击
2 = Button-2 = ButtonPress-2鼠标中键单击
3 = Button-3 =ButtonPress-3鼠标右键单击
B1-Motion鼠标左键拖动
B2-Motion鼠标中键拖动
B3-Motion鼠标右键拖动
ButtonRelease-1鼠标左键释放
ButtonRelease-2鼠标中键释放
ButtonRelease-3鼠标右键释放
Double-Button-1鼠标左键双击
Double-Button-2鼠标中键双击
Double-Button-3鼠标右键双击
Enter鼠标指针进入控件
Leave鼠标指针离开控件

键盘事件

属性解释
Return回车
CancelBreak键
BackSpaceBackSpace键
TabTab键
Shift_LShift键
Alt_LAlt键
Control_LControl键
PausePause键
Caps_LockCaps_Lock键
EscapeEscapel键
PriorPageUp键
NextPageDown键
EndEnd键
HomeHome键
Left左箭头
Up上箭头
Right右箭头
Down下箭头
PrintPrint Screen键
InsertInsert键
DeleteDelete键
F1,…F12F1键,…F12键
Num_LockNum_Lock键
Scroll_LockScroll_Lock键
key任意键

组合事件

属性解释
Shift-UpShift+Up
Alt-UpAlt+Up
Control-UpCtrl+Up
Control-ACtrl+shift+a

窗体事件

属性解释
Configure改变大小或位置
Visibility当组件变为可视状态时触发
Unmap当组件由显示状态变为隐藏状态时触发
Map当组件由隐藏状态变为显示状态时触发
Expose当组件从原本被其他组件遮盖的状态中暴漏出来时触发
FocusIn组件获得焦点时触发
FocusOut组件失去焦点时触发
Circulate当窗体由于系统协议要求在堆栈中置顶或压底时触发
Colormap当窗体的颜色或外貌改变时触发,Tk中忽略此细则
Property当窗体的属性被删除或改变时触发,属于TK的核心
Destroy当组件被销毁时触发
Activate与组件选项中的state项有关,表示组件由不可用变为可用时触发
Deactiavte与组件选项中的state项有关,表示组件由可用变为不可用时候触发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

待煎的前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值