# TK **Repository Path**: appleily/tk ## Basic Information - **Project Name**: TK - **Description**: tkinter知识的系统学习 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-09-30 - **Last Updated**: 2025-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README p1:一个小的案例,点击按键,就弹出一个提示消息 p2:窗口大小和位置 p3:编程整体描述和组件汇总 Wm: 用于窗口之间通信 p4:面向对象的写法模板 p5:lable标签的用法 1. width,height(显示文本,以单个英文字符大小为单位,汉字占2个字符位置,如果显示 图像,则以像素为单位) 2. font(指定字体和字体大小) font=(font_name,size) 3. image:(显示在label上的图像,只支持git格式) 4. fg和bg(分别表示前景色和背景色) 5. justify(针对多行文字的对齐,属性可选值:left,center,right) 6. borderwidth(边框) 7. relief(属性可选值solid) 8. anchor(字体在框中的方位,可选值n, ne, e, se, s, sw, w, nw, or center) p6: option选项的用法 方法一:关键字参数 fred = Button(self,fg='red',bg='blue') 方法二:字典索引方法 fred['fg'] = 'red' fred['bg'] = 'blue' 方法三: 创建对象后,使用config()方法 fred.config(fg='red',bg='blue') p7: Button按键的用法,可以包含文本和图像 p8: Entry的用法,用于单行文本框的输入 p9: Text多行文本框,可以放网页链接,图片,HTML页面,添加组件等 p10: Checkbutton(复选按键)和Radiobutton(单选按键),可以定义文本和图象 p11: canvas(画布,可以放置图形,图像,组件) p12: grid布局管理器,三种布局(pack,grid,place) grid的相关属性 column : 列号,从0开始的正整数 row: 行号,从0开始的正整数 columnspan :跨列,跨越的列数,正整数 rownspan: 跨行,跨越的行数,正整数 ipadx,ipady,子组件之间的间隔,默认单位为像素 padx,pady,与之并列组件间的间隔 sticky,组件紧贴所在单元格的某一角,对应东南西北四个角 enumerate函数的用法 p13: 计算器界面的设计,不涉及功能 p14: pack布局管理器,默认是自顶向下垂直布局 相关属性 expand: 当值为yes时,side选项无效,若fill选项为both,则填充父组件空间 side: 定义停靠在你组件那一连 anchor: 对齐方式,可取值为nswe等 p15: place,绝对位置和相对位置,通过坐标来精确控制 x,y: 相对于整个窗口,组件左上角的绝对坐标 relx,rely: 相对于父容器左上角的坐标,取值范围0-1 width,height: 组件的宽和高 relwidth,relheight: 相对于父容器,组件的宽高,取值0-1 anchor: 对齐方式,可取值为nswe等 一个扑克牌的小案例,绑定一个事件。 p16: 事件和消息循环 如果相关事件发生,handler函数会被触发 鼠标左键,2表示中键,3表示右键 鼠标左键释放 按住鼠标左键移动 双击左键 鼠标指针进入某一组件区域 鼠标指针离开某一组优区域 捕获任意按键 按下a键,a可用其他键代替 释放a键 同时按下alt和a event对象常用属性: char: 按键字符 keycode: 按键编码 keysym : 按键名称 num: 鼠标按键,仅对鼠标有效 type: 所触发的事件类型 widget: 引起事件的组件 width,height: 组件改变后的大小,仅configure有效 x,y: 鼠标当前位置,相对于父容器 x_root,y_root: 鼠标当前位置,相对于整个屏幕 p17:lambda 表达式的用法 lambda x,y: x*y (输入x和y,输出它们的积) lambda: None (函数没有输入参数,输出None) lambda: aaa(3,4) (函数没有输入参数,则调用aaa这个函数) lambda *args: sum(args) (输入是任意个数的参数,输出是它们的和) lambda **kwargs: 1 p20: OptionMenu选择项,用来做多选一,选择的项在顶部显示 Scale移动滑块,在指定的区间内,通过滑块来选择值 p21: colorchooser.askcolor--颜色选择框, 文本选择框: askopenfilename 返回打开的文件名 askopenfilenames 返回打开的多个文件名列表 askopenfile 返回打开文件对象 askopenfiles 返回打开的文件对象列表 askdirectory 返回目录名 asksaveasfile 返回保存的对象 asksaveafilename 返回保存的文件名 常用参数 defaultextension 默认后缀.xxx initaldir 初始目录 initalfile 初始文件 parent 父窗口 title 窗口标题 filetypes 文件过滤 p22: 简单对话框--simpledialog 常用函数 askfloat(title,prompt,**kw) , 返回浮点数 askinteger(title,prompt,**kw) , 输入并返回整数 askstring(title,prompt,**kw) , 输入并返回字符串 p23: Frame的用法