布局控件
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 | 回车 |
Cancel | Break键 |
BackSpace | BackSpace键 |
Tab | Tab键 |
Shift_L | Shift键 |
Alt_L | Alt键 |
Control_L | Control键 |
Pause | Pause键 |
Caps_Lock | Caps_Lock键 |
Escape | Escapel键 |
Prior | PageUp键 |
Next | PageDown键 |
End | End键 |
Home | Home键 |
Left | 左箭头 |
Up | 上箭头 |
Right | 右箭头 |
Down | 下箭头 |
Print Screen键 | |
Insert | Insert键 |
Delete | Delete键 |
F1,…F12 | F1键,…F12键 |
Num_Lock | Num_Lock键 |
Scroll_Lock | Scroll_Lock键 |
key | 任意键 |
组合事件
属性 | 解释 |
---|---|
Shift-Up | Shift+Up |
Alt-Up | Alt+Up |
Control-Up | Ctrl+Up |
Control-A | Ctrl+shift+a |
窗体事件
属性 | 解释 |
---|---|
Configure | 改变大小或位置 |
Visibility | 当组件变为可视状态时触发 |
Unmap | 当组件由显示状态变为隐藏状态时触发 |
Map | 当组件由隐藏状态变为显示状态时触发 |
Expose | 当组件从原本被其他组件遮盖的状态中暴漏出来时触发 |
FocusIn | 组件获得焦点时触发 |
FocusOut | 组件失去焦点时触发 |
Circulate | 当窗体由于系统协议要求在堆栈中置顶或压底时触发 |
Colormap | 当窗体的颜色或外貌改变时触发,Tk中忽略此细则 |
Property | 当窗体的属性被删除或改变时触发,属于TK的核心 |
Destroy | 当组件被销毁时触发 |
Activate | 与组件选项中的state项有关,表示组件由不可用变为可用时触发 |
Deactiavte | 与组件选项中的state项有关,表示组件由可用变为不可用时候触发 |