
@TOC
本篇文章主要讲Tkinter库的Label标签控件,Message控件和文本控件Text,以及相对关的属性和方法以及示例。
res = Label(window,**params)| 属性名称 | 说明 | 
| anchor | 控制文本(或图像)在 Label 中显示的位置(方位),通过方位的英文字符串缩写(n、ne、e、se、s、sw、w、nw、center)实现定位,默认为居中(center) | 
| bg | 用来设置背景色 | 
| bd | 即 borderwidth 用来指定 Label 控件的边框宽度,单位为像素,默认为 2 个像素 | 
| bitmap | 指定显示在 Label 控件上的位图,若指定了 image 参数,则该参数会被忽略 | 
| compound | 控制 Lable 中文本和图像的混合模式,若选项设置为 CENTER,则文本显示在图像上,如果将选项设置为 BOTTOM、LEFT、RIGHT、TOP,则图像显示在文本旁边。 | 
| cursor | 指定当鼠标在 Label 上掠过的时候,鼠标的的显示样式,参数值为 arrow、circle、cross、plus | 
| disableforeground | 指定当 Label 设置为不可用状态的时候前景色的颜色 | 
| font | 指定 Lable 中文本的 (字体,大小,样式)元组参数格式,一个 Lable 只能设置一种字体 | 
| fg | 设置 Label 的前景色 | 
| height/width | 设置 Lable 的高度/宽度,如果 Lable 显示的是文本,那么单位是文本单元,如果 Label 显示的是图像,那么单位就是像素,如果不设置,Label 会自动根据内容来计算出标签的高度 | 
| highlightbackground | 当 Label 没有获得焦点的时候高亮边框的颜色,系统的默认是标准背景色 | 
| highlightcolor | 指定当 Lable 获得焦点的话时候高亮边框的颜色,系统默认为0,不带高亮边框 | 
| image | 指定 Label 显示的图片,一般是 PhotoImage、BitmapImage 的对象 | 
| justify | 表示多行文本的对齐方式,参数值为 left、right、center,注意文本的位置取决于 anchor 选项 | 
| padx/pady | padx 指定 Label 水平方向上的间距(即内容和边框间),pady 指定 Lable 水平方向上的间距(内容和边框间的距离) | 
| relief | 指定边框样式,默认值是 "flat",其他参数值有 "groove"、"raised"、"ridge"、"solid"或者"sunken" | 
| state | 该参数用来指定 Lable 的状态,默认值为"normal"(正常状态),其他可选参数值有"active"和"disabled" | 
| takefocus | 默认值为False,如果是 True,表示该标签接受输入焦点 | 
| text | 用来指定 Lable 显示的文本,注意文本内可以包含换行符 | 
| underline | 给指定的字符添加下划线,默认值为 -1 表示不添加,当设置为 1 时,表示给第二个文本字符添加下划线。 | 
| wraplength | 将 Label 显示的文本分行,该参数指定了分行后每一行的长度,默认值为 0 | 
Label控件最简单的示例:
import tkinter as tk # 导入tkinter模块并简写为tk
# 创建窗口
window = tk.Tk()
# 创建Label标签 显示文本内容
label = tk.Label(window, text="小小啊python")
# 放置Label标签
label.pack( )
# 启动窗口
window.mainloop()
加一些参数的示例:
import tkinter as tk # 导入tkinter模块并简写为tk
# 创建窗口
window = tk.Tk()
# 窗口标题
window.title("Label窗口")
# 窗口大小
window.geometry("400x300")
# 创建Label标签 显示文本内容,并设置字体
label = tk.Label(window, text="小小啊python", font=("Arial", 16),width=200,bg="orange",fg="pink")
# 放置Label标签,并设置标签位置
label.pack( padx=10,pady=30)
# 启动窗口
window.mainloop()
Message 控件与 Label 控件的功能类似,它主要用来显示多行不可编辑的文本信息,与 Label 的不同之处在于该控件增加了自动分行的功能。
import tkinter as tk # 导入tkinter模块并简写为tk
# 创建窗口
window = tk.Tk()
# 窗口标题
window.title("Message窗口")
# 窗口大小
window.geometry("400x300")
# 创建Label标签 显示文本内容,并设置字体
label = tk.Message(window, text="如果错过凌晨五点的日出 不妨看看傍晚六点的夕阳", font=("../ttf/IBMPlexSansSC-Text.ttf", 16),width=270,bg="red",fg="blue")
# 放置Label标签,并设置标签位置
label.pack( padx=10,pady=30)
# 启动窗口
window.mainloop()
Text 文本控件是 Tkinter 中经常使用的控件,它主要用于显示和编辑多行文本
| 属性 | 说明 | 
| autoseparators | 默认为 True,表示执行撤销操作时是否自动插入一个“分隔符”(其作用是用于分隔操作记录) | 
| exportselection | 默认值为 True,表示被选中的文本是否可以被复制到剪切板,若是 False 则表示不允许。 | 
| insertbackground | 设置插入光标的颜色,默认为 BLACK | 
| insertborderwidth | 设置插入光标的边框宽度,默认值为 0 | 
| insertofftime | 该选项控制光标的闪烁频频率(灭的状态) | 
| insertontime | 该选项控制光标的闪烁频频率(亮的状态) | 
| selectbackground | 指定被选中文本的背景颜色,默认由系统决定 | 
| selectborderwidth | 指定被选中文本的背景颜色,默认值是0 | 
| selectforeground | 指定被选中文本的字体颜色,默认值由系统指定 | 
| setgrid | 默认值是 False,指定一个布尔类型的值,确定是否启用网格控制 | 
| spacing1 | 指定 Text 控件文本块中每一行与上方的空白间隔,注意忽略自动换行,且默认值为 0。 | 
| spacing2 | 指定 Text 控件文本块中自动换行的各行间的空白间隔,忽略换行符,默认值为0 | 
| spacing3 | 指定 Text 组件文本中每一行与下方的空白间隔,忽略自动换行,默认值是 0 | 
| tabs | 定制 Tag 所描述的文本块中 Tab 按键的功能,默认被定义为 8 个字符宽度,比如 tabs=('1c', '2c', '8c') 表示前 3 个 Tab 宽度分别为 1厘米,2厘米,8厘米。 | 
| undo | 该参数默认为 False,表示关闭 Text 控件的“撤销”功能,若为 True 则表示开启 | 
| wrap | 该参数用来设置当一行文本的长度超过 width 选项设置的宽度时,是否自动换行,参数值 none(不自动换行)、char(按字符自动换行)、word(按单词自动换行) | 
| xscrollcommand | 该参数与 Scrollbar 相关联,表示沿水平方向上下滑动 | 
| yscrollcommand | 该参数与 Scrollbar 相关联,表示沿垂直方向左右滑动 | 
| 方法 | 说明 | 
| bbox(index) | 返回指定索引的字符的边界框,返回值是一个 4 元组,格式为(x,y,width,height) | 
| edit_modified() | 该方法用于查询和设置 modified 标志(该标标志用于追踪 Text 组件的内容是否发生变化) | 
| edit_redo() | “恢复”上一次的“撤销”操作,如果设置 undo 选项为 False,则该方法无效。 | 
| edit_separator() | 插入一个“分隔符”到存放操作记录的栈中,用于表示已经完成一次完整的操作,如果设置 undo 选项为 False,则该方法无效。 | 
| get(index1, index2) | 返回特定位置的字符,或者一个范围内的文字。 | 
| image_cget(index, option) | 返回 index 参数指定的嵌入 image 对象的 option 选项的值,如果给定的位置没有嵌入 image 对象,则抛出 TclError 异常 | 
| image_create() | 在 index 参数指定的位置嵌入一个 image 对象,该 image 对象必须是 Tkinter 的 PhotoImage 或 BitmapImage 实例。 | 
| insert(index, text) | 在 index 参数指定的位置插入字符串,第一个参数也可以设置为 INSERT,表示在光标处插入,END 表示在末尾处插入。 | 
| delete(startindex , endindex) | 删除特定位置的字符,或者一个范围内的文字。 | 
| see(index) | 如果指定索引位置的文字是可见的,则返回 True,否则返回 False。 | 
import tkinter as tk # 导入tkinter模块并简写为tk
# 创建窗口
window = tk.Tk()
# 窗口标题
window.title("Text窗口")
# 窗口大小
window.geometry("400x300")
# 创建Text标签 显示文本内容,并设置字体,背景,以及文本选中颜色
text = tk.Text(window, height=5, width=50, font=("Arial", 16),bg="pink",fg="blue",selectbackground="yellow")
# 放置Text标签,并设置标签位置
text.pack( padx=10,pady=30)
# 清空文本内容
text.delete("1.0", tk.END)
# 插入文本内容
text.insert(tk.END, "小小啊python")
# 启动窗口
window.mainloop()
流水不争先,争的是滔滔不绝!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。