图形化界面的开发(GUI):Tkinter库的使用-2(Label+Message+Text)

前言

本篇文章主要讲Tkinter库的Label标签控件,Message控件和文本控件Text,以及相对关的属性和方法以及示例。

导航

pillow库的使用篇

Tkiner库的使用篇

图片脚本篇

Label控件的使用

  • 我们在上篇文章中讲了一个tkinter程序,至少包含主窗口window
    和启动窗口window.mainloop(),其中所有的控件就加在这其中。
import tkinter as tk
# 创建窗口
window = tk.Tk()
# 设置窗口标题
window.title("第一个窗口")
# 设置窗口大小
window.geometry("400x300")
# 显示窗口
window.mainloop()

标签控件(Label)可以在指定的窗口显示文本和图像。如果想显示一行文字或者多行文字且不允许用户修改,可以使用标签Label控件 。
语法如下:
res = Label(window,**params)

  • window:框架的父容器,即窗口对象。
  • **params:其他参数

常用属性

下面是Label一些常用属性:

属性名称说明
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/padypadx 指定 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()

效果1

在这里插入图片描述

加一些参数的示例:

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()

效果2

在这里插入图片描述

Message控件

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文本控件

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()

效果

在这里插入图片描述

共勉

流水不争先,争的是滔滔不绝!

博客

  • 本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。
  • 之前在公众号发布了一个kali破解WiFi的文章,感兴趣的同学可以去看一下,在b站(up主:laity1717)也发布了相应的教学视频
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值