前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >图形化界面的开发(GUI)_Tkinter库的使用-2(Label+Message+Text)

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

原创
作者头像
laity
修改2025-02-28 09:54:31
修改2025-02-28 09:54:31
37300
代码可运行
举报
文章被收录于专栏:Tkinter库的使用Tkinter库的使用
运行总次数:0
代码可运行

@TOC

前言

本篇文章主要讲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/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控件最简单的示例:

代码语言:python
代码运行次数:0
运行
复制
import tkinter as tk # 导入tkinter模块并简写为tk
# 创建窗口
window = tk.Tk()
# 创建Label标签 显示文本内容
label = tk.Label(window, text="小小啊python")
# 放置Label标签
label.pack( )
# 启动窗口
window.mainloop()

效果1

加一些参数的示例:

代码语言:python
代码运行次数:0
运行
复制
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 的不同之处在于该控件增加了自动分行的功能。

示例

代码语言:python
代码运行次数:0
运行
复制
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。

示例

代码语言:python
代码运行次数:0
运行
复制
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)也发布了相应的教学视频

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 导航
    • pillow库的使用篇
    • 图片脚本篇
    • Tkiner库的使用篇
  • Label控件的使用
    • 示例
    • 效果1
    • 效果2
  • Message控件
    • 示例
    • 效果
  • Text文本控件
    • 常见参数
    • 基本方法
    • 示例
    • 效果
  • 共勉
  • 博客
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档