1、简介:
Python标准库tkinter是对Tcl/Tk的进一步分装,与tkinter.ttk 和 tkinter.tik共同提供了强大的跨平台GUI编程功能。作为扩展,tkinter.ttk提供了Combobox、Progressbar和Treeview等组件,tkinter.scrolledtext提供了带滚动条的文本框,messagebox、commondialog、dialog、colorchooser、simpledialog、filedialog等模块提供了各种对话框。
2、tkinter常用组件
组件名称 | 说明 |
Button | 按钮控件;在程序中显示按钮。 |
Canvas | 画布控件;显示图形元素如线条或文本 |
Checkbutton | 多选框控件;用于在程序中提供多项选择框 |
Entry | 输入控件;用于显示简单的文本内容 |
Frame | 框架控件;在屏幕上显示一个矩形区域,多用来作为容器 |
Label | 标签控件;可以显示文本和位图 |
Listbox | 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 |
Menu | 菜单控件;显示菜单栏,下拉菜单和弹出菜单 |
Menubutton | 菜单按钮控件,由于显示菜单项。 |
Message | 消息控件;用来显示多行文本,与label比较类似 |
Radiobutton | 单选按钮控件;显示一个单选的按钮状态 |
Scale | 范围控件;显示一个数值刻度,为输出限定范围的数字区间 |
Scrollbar | 滚动条控件,当内容超过可视化区域时使用,如列表框。. |
Toplevel | 容器控件;用来提供一个单独的对话框,和Frame比较类似 |
Text | 文本控件;用于显示多行文本 |
Spinbox | 输入控件;与Entry类似,但是可以指定输入范围值 |
PanedWindow | PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 |
LabelFrame labelframe | 是一个简单的容器控件。常用与复杂的窗口布局。 |
tkMessageBox | 用于显示你应用程序的消息框。 |
Button组件基本参数
参数 | 描述 |
height | 组件的高度(所占行数) |
width | 组件的宽度(所占字符个数) |
fg | 前景字体颜色 |
bg | 背景颜色 |
activebackground | 按钮按下时的背景颜色 |
activeforeground | 按钮按下时的前景颜色 |
justify | 多行文本的对齐方式,可选参数为: LEFT、 CENTER、RIGHT |
padx | 文本左右两侧的空格数(默认为1) |
pady | 文本上下两侧的空格数(默认为1) |
3、事件
参数 | 描述 |
<Button-1> | 鼠标左键单击 |
<Button-2> | 鼠标中键 |
<Button-3> | 鼠标右键 |
<B1-Motion> | 左键移动 |
<ButtonRelease-1> | 左键释放 |
<Double-Button-1> | 双击左键 |
<Enter> | 进入 |
<Leave> | 离开 |
<FocusIn> | 得到焦点 |
<FocusOut> | 失去焦点 |
<Return>(F1,F2,F3,Delete...) | 按Enter键时事件发生,可以将键盘上的任意键和一个时间绑定 |
<Key> | 按任意键 |
<a>(b,c,d...) | |
<Configure> | |
<Shift+A> | 当单击“Shift-A”键是事件发生,可以将Alt,Shift和Control和其他键组合 |
<Shift_L> | 响应左侧的键shift、<Shift_R>/<F5>/ |
<Triple-Buttom-i> | 三击鼠标左键时,事件发生 |
事件属性
参数 | 描述 |
widget | |
x,y | 鼠标点击时的x,y轴坐标是多少 |
x_root,y_rrot | |
char | 输入键盘输入的是什么字符 |
keycode(keyboard events only) | |
num(mouse button events only) | |
width,height | 宽度,高度 |
type | 事件类型 |
label.focus_set()
给小控件设置焦点