前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >软件测试|超好用超简单的GUI库——tkinter(三)

软件测试|超好用超简单的GUI库——tkinter(三)

原创
作者头像
霍格沃兹测试开发Muller老师
发布于 2023-04-10 06:34:44
发布于 2023-04-10 06:34:44
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

前言

前面我们介绍了tkinter主窗口的一系列操作,本篇文章我们将介绍Label控件,Label(标签)控件,是 Tkinter 中最常使用的一种控件,主要用来显示窗口中的文本或者图像,并且不同的 Lable(标签)允许设置各自不同的背景图片。

label常用属性

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控件构成

一个控件主要由背景和前景两部分组成。其中背景由三部分构成分别是内容区域、填充区、边框,这三个区域的大小通过以下属性进行控制,如下所示:

  • width/height
  • padx/pady
  • borderwidth

下图对 Label 背景的区域构成进行说明:

在这里插入图片描述
在这里插入图片描述

边框的宽度可以通过 borderwidth 来调整,其样式可以通过relief来设置(默认为平的 flat);填充区的大小调整分为水平方向和垂直方向,可以使用padx和pady来调整;内容区则主要用来显示文字或者图片,其大小由 width/height 来控制。

使用示例如下所示:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import tkinter as tk
win = tk.Tk()
win.title("拜仁慕尼黑")
win.geometry('400x200')

# 若内容是文字则以字符为单位,图像则以像素为单位
label = tk.Label(win, text="拜仁慕尼黑",font=('宋体',20, 'bold italic'),bg="#7CCD7C",
                 # 设置标签内容区大小
                 width=30,height=5,
                 # 设置填充区距离、边框宽度和其样式(凹陷式)
                 padx=10, pady=15, borderwidth=10, relief="sunken")
label.pack()
win.mainloop()

生成的窗口如下:

在这里插入图片描述
在这里插入图片描述

标签添加背景图

Label(标签)除了可以显示文本之外,还可以用来显示图片,代码如下所示:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import tkinter as  tk
win = tk.Tk()
win.title("拜仁慕尼黑")

#显示图片(注意这里默认支持的图片格式为GIF)
photo = tk.PhotoImage(file = 'bayern.png')
print(type(photo))
# 将图片放在主窗口的右边
lab =tk.Label(win,image=photo).pack(side="right")
# 显示文字,设置文本格式
text = "拜仁慕尼黑,\n"\
       "这里有知名的球星,\n "\
       "这里有很多的冠军"
lab_text =tk.Label(win,text=text,fg ='#7CCD7C',font=('微软雅黑',15,'italic'),justify='left',padx=10).pack(side='left')
win.mainloop()

生成的窗口如下:

在这里插入图片描述
在这里插入图片描述

Message控件

Message 控件与 Label 控件的功能类似,它主要用来显示多行不可编辑的文本信息,与 Label 的不同之处在于该控件增加了自动分行的功能。下面对它做简单的介绍,示例如下:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from tkinter import *
#创建主窗口
win = Tk()
win.config(bg='#8DB6CD')
win.title("拜仁慕尼黑")
win.geometry('400x300')
text = "FC Bayern forexer no.1!"
msg = Message (win, text=text,width =60,font=('微软雅黑',10,'bold'))
msg .pack (side=LEFT)
#开始程序循环
win .mainloop ()

生成的窗口如下:

在这里插入图片描述
在这里插入图片描述

总结

本文主要介绍了tkinter的label控件,主要讲解了label控件的构成,设置宽度、方位,填充区大小,宽度等设置,以及背景图设置,信息设置等操作,后面我们将介绍button按钮控件。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序获取用户头像和昵称能力调整!新的代替方案!
前段时间,微信发布《小程序用户头像昵称获取规则调整公告》称实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。
傲绝
2023/03/23
6K0
微信小程序获取用户头像和昵称能力调整!新的代替方案!
基于bmob快速搭建小程序用户模块
客户端调用wx.login()后获取的code,后端人员拿到code和微信换取openid和session_key;
疯狂的小程序
2018/01/24
1.3K0
小程序获取不到用户头像和昵称返回微信用户问题解决,即小程序授权获取用户头像规则调整的最新解决方案
最近好多同学在学习石头哥小程序课程的时候,遇到了下面这样的问题,在小程序授权获取用户头像和昵称时,获取到的是下面这样的。
编程小石头
2022/11/29
1.5K0
小程序获取不到用户头像和昵称返回微信用户问题解决,即小程序授权获取用户头像规则调整的最新解决方案
微信小程序获取昵称和头像的解决方案
在微信小程序实际开发中,获取用户的昵称和头像是一项常见功能,但因为微信小程序的api依赖于不同基础库,所以导致这一需求需要用不同方法来解决。
iwhao
2024/07/02
2.8K1
微信小程序获取昵称和头像的解决方案
微信小程序之获取并解密用户数据(获取openid,nickName等)
本文主要总结微信小程序通过后台请求访问微信用户信息 创建一个微信小程序工程(自行百度) 微信小程序index.js代码 //index.js //获取应用实例 const app = getApp() Page({ data: { motto: 'Hello World', userInfo: {}, backUserInfo:{},//后台得到的微信用户信息 hasUserInfo: false, canIUse: wx.canIUse('button.o
小帅丶
2021/12/28
4.9K0
微信小程序之获取并解密用户数据(获取openid,nickName等)
小程序自定义头像昵称
由于个人小程序获取用户授权getUserProfile的方法已失效,所以采用自定义昵称的方法。
yma16
2023/11/16
3460
小程序自定义头像昵称
微信小程序授权登录与用户信息保存详解(微信报修小程序源码讲解六)
提醒:小程序端源码已经更新整理,相比旧源码,新源码简洁、结构清晰、需要的同学及时找我获取源码。
热心的程序员
2020/04/02
8.7K0
微信小程序授权登录与用户信息保存详解(微信报修小程序源码讲解六)
用小程序来实现扫码登录
在 web 开发中,少不了用户系统,开发者需要开发注册登录这些重复的功能,而对于用户来说,要要注册才可以使用,往往会不愿意,因为我们有太多的账号和密码了,而现在,微信拥有 12 亿的月活用户,使用微信实现扫码登录,会大大减少需要用户注册而造成的流失率,而实现微信扫码登录有一定门槛,首先需要是企业用户才可以在微信开发平台注册账号,紧接着需要认证缴费 300 元才可以,简直就是黑店,而现在我们可以使用小程序来实现,今天就来讲讲小程序扫码登录的实现方式。
狂奔滴小马
2022/09/21
1.9K0
用小程序来实现扫码登录
微信小程序授权 获取用户基本信息
需要用户主动触发,button open-type 的值设置为 getPhoneNumber
玖柒的小窝
2021/09/29
2.4K0
微信小程序授权 获取用户基本信息
小程序获取不到用户头像和昵称返回微信用户问题解决,即小程序授权获取用户头像规则调整的最新解决方案
最近好多同学在学习石头哥小程序课程的时候,遇到了下面这样的问题,在小程序授权获取用户头像和昵称时,获取到的是下面这样的。
编程小石头
2022/11/15
3.7K1
小程序用户登录架构设计
上一篇文章《小程序静默登录方案设计》提到过,小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。
Nealyang
2021/06/08
2.2K0
微信小程序开发用户授权登录
第三方服务器和微信服务器: 注意:session_key是微信服务器生成的针对用户数据进行加密签名的密钥,不应该进行传输到客户端.
达达前端
2022/04/29
2.6K0
微信小程序开发用户授权登录
微信小程序获取用户信息(wx.getUserInfo)
微信小程序获取用户信息API:wx.getUserInfo(Object object)
德顺
2019/11/13
2.5K0
微信小程序获取用户信息(wx.getUserInfo)
微信小程序登录方法,授权登陆及获取微信用户手机号
 ✅作者简介:              大家好五一快乐,我是痴心阿文,你们的学友哥,今天给大家分享微信小程序登录方法! 📃个人主页:痴心阿文的博客_CSDN博客-TypeScript.js,笔记,CSS领域博主 🔥本文前言:微信小程序登录方法,授权登陆及获取微信用户手机号 💖如果觉得博主的文章有帮到你的话,请👍支持一下博主哦🤞   🍉🍉🍉先看一下小程序的登陆流程 使用说明注意:     调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、
痴心阿文
2022/11/18
8760
微信小程序登录方法,授权登陆及获取微信用户手机号
处理微信小程序授权登录
当微信小程序项目中涉及到获取用户信息并实现用户登录时,可以通过微信官方提供的登录能力方便地获取微信的用户身份标识,快速建立小程序内的用户体系。官方文档只是提供如何去调用授权登录,如果直接原封不动的照搬文档来进行代码编写,这样势必会造成代码的维护性差,所以本篇着重介绍如果更优雅的处理微信小程序的授权登录。
ruochen
2021/11/26
8.1K0
微信小程序微信登录
开发接口 登录 wx.login wx.checkSession 签名加密
达达前端
2019/07/15
32.9K0
微信小程序微信登录
2021年啦,微信小程序最新登录以及授权方法解析,给新手小白的~
有的小伙伴在做微信小程序时突然发现网上的授权方法不太统一,翻看文档发现,噢,原来是有改动!这个时候有的友友就很生气,人家都写完了怎么说改就改,还得重新去兼容,没办法,人在屋檐下不得不低头,这里我就把授权部分整理一下方便大家理解!
前端小tips
2021/12/12
3.1K0
2021年啦,微信小程序最新登录以及授权方法解析,给新手小白的~
微信小程序授权登录
上图是微信小程序官网提供的授权登录基本流程图,这里我只从前端开发的角度来讲解一下该流程。
大发明家
2021/12/06
12.4K0
解决微信小程序登录与发布的一些问题
要使用的是本地图片,不想把图片上传到网络再通过https的方式解决,解决方法如下:
达达前端
2022/04/29
7010
解决微信小程序登录与发布的一些问题
beego微信小程序登录、确权、解密
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/details/82532964
hotqin888
2018/09/11
2.3K0
推荐阅读
相关推荐
微信小程序获取用户头像和昵称能力调整!新的代替方案!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验