对Python中TKinter模块中的Label组件实例详解


Posted in Python onJune 14, 2019

Python2.7.4 OS—W7x86

1. 简介

Label用于在指定的窗口中显示文本和图像。最终呈现出的Label是由背景和前景叠加构成的内容。

Label组件定义函数:Label(master=None, cnf={}, **kw) 其中,kw参数是用来自定义lable组件的键值对。

2. 背景自定义

背景的话,有三部分构成:内容区+填充区+边框

<1>内容区参数有:width,length用于指定区域大小,如果显示前景内容是文本,则以单个字符大小为单位;如果显示的是图像,则以像素为单位。默认值是根据具体显示的内容动态调整。类型是int。

background用于指定背景的颜色,默认值根据系统而定。

<2>填充区参数:指的是内容区和边框之间的间隔大小,单位是像素。参数有:padx , pady,类型是int。

<3>边框参数:样式relief(可选值为:flat(默认),sunken,raised,groove,ridge),borderwidth(边框的宽度,单位是像素,默认根据系统而定,一般是1或2像素)

highlightbackground,highlightcolor,highlightthickness 三个边框参数仅在Label允许接收焦点的情况下(tackfocus=True),用于设置焦点获取前后高亮边框颜色以及高亮边框宽度。

举个栗子(@-@)

对Python中TKinter模块中的Label组件实例详解

上图右侧为,背景图构成:内容区(黑色),填充区(绿色),边框(黄色)

定义的背景内容区是可容纳3X9的字符区,如上图中的右侧小窗口中的Label。增加了填充区和边框后的效果如上图中左侧的Label。

3. 前景自定义

前景定义分为文本内容和图像两小块来说明。

3.1 文本

文本内容选项有:<1>指定字体和字体大小,如:font = (font_name,size),默认有系统指定。

<2>文本对齐方式,justify = "center(默认)left/right/"

<3>指定文本(或图像)颜色,foreground = "指定的颜色",可以是英文名字,也可以是RGB格式的

<4>指定文本内容:(静态的)text = "目标字符串....."; (动态更新的)textvariable = str_obj,当str_obg的内容改变时,会更新Label中对应内容。

这里需要注意的是str_obj必须是TKinter所支持的字符串类型变量,如:str_obj = Tkinter.StringVar() str_obj.set("目标文本内容")

<5>单个字符添加下划线,underline = index, index是目标字符串中的字符索引值。

<6>文本或图像在背景内容区的位置:anchor 可选值为(n,s,w,e,ne,nw,sw,se,center)eswn是东南西北英文的首字母,表示:上北下南左西右东

对Python中TKinter模块中的Label组件实例详解

图像内容选项有:<1>指定图片:bitmap = bitmap_image,当指定image选项的时候,这个参数会被忽略掉 或者 image = normal_image(仅支持GIF, PPM/PGM格式的图片)" 。

需要注意的是这里的所用到的图片对象bitmap_image normal_image都是需要经过TKinter转换后的图像格式。

如: bitmap_image = TKinter.BitmapImage(file = "位图片路径")

normal_image = TKinter.PhotoImage(file = "gif 、ppm/pgm图片路径")

图片和文本取舍:compound参数可以控制要显示的文本和图像。当同时指明了要显示的文本和图像时,可以通过该参数来进行不同设置。

可选值:None 默认值,表示只显示图像,不显示文本;bottom/top/left/right,表示图片显示在文本的下/上/左/右;center,表示文本显示在图片中心上方。

对Python中TKinter模块中的Label组件实例详解

上图左中的compound="bottom",表示图片显示在文字下方;上图左中的compound="center",表示文字显示在图片中间上方

4. Label的其他参数

<1>activebacakground activeforground 用于设置Label处于活动(active)状态下的背景和前景颜色,默认由系统指定。

<2>diableforground 指定当Label不可用的状态(Disable)下的前景颜色,默认由系统指定。

<3>cursor 指定鼠标经过Label的时候,鼠标的样式,默认由系统指定。

<4>state 指定Label的状态,用于控制Label如何显示。可选值有:normal(默认)/active/disable。

程序源码

#coding=utf-8
import Tkinter as tk
 
if __name__ == "__main__":
  import Tkinter as tk
  master = tk.Tk()
  str_obj = tk.StringVar()
  str_obj.set("这是TKinter所支持的字符串类型")
 
  #bitmap_image = tk.BitmapImage(file = "./tmp/11.bmp")
  normal_image = tk.PhotoImage(file = "./tmp/11.gif")
  print type(normal_image)
  print normal_image
  w = tk.Label(master,
         #背景选项
         #height = 5,
         #width = 20,
         padx=10,
         pady=20,
         background="blue",
         relief="ridge",
         borderwidth=10,
         #文本
         text = "123456789\nabcde\nABCDEFG",
         #textvariable = str_obj,
         justify = "left",
         foreground = "white",
         underline = 4,
         anchor = "ne",
         #图像
         image = normal_image,
         compound = "bottom",
         #接受焦点
         #takefocus = True,
         #highlightbackground = "yellow",
         #highlightcolor = "white",
         #highlightthickness = 5
         )
  w.pack()
  master.mainloop()

以上这篇对Python中TKinter模块中的Label组件实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python检测服务器是否正常
Feb 16 Python
利用Python的Django框架生成PDF文件的教程
Jul 22 Python
Python中scatter函数参数及用法详解
Nov 08 Python
Python爬虫之网页图片抓取的方法
Jul 16 Python
django admin后台添加导出excel功能示例代码
May 15 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 Python
pytorch SENet实现案例
Jun 24 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 Python
python爬虫scrapy图书分类实例讲解
Nov 23 Python
Python生成九宫格图片的示例代码
Apr 14 Python
使用pipenv管理python虚拟环境的全过程
Sep 25 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 #Python
Python 抓取微信公众号账号信息的方法
Jun 14 #Python
python字典一键多值实例代码分享
Jun 14 #Python
Python 窗体(tkinter)按钮 位置实例
Jun 13 #Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 #Python
python tkinter canvas 显示图片的示例
Jun 13 #Python
Python通用函数实现数组计算的方法
Jun 13 #Python
You might like
值得分享的php+ajax实时聊天室
2016/07/20 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
简单的js表格操作
2016/09/24 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
python遍历小写英文字母的方法
2019/01/02 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
python代码xml转txt实例
2020/03/10 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
python sleep和wait对比总结
2021/02/03 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
高中美术教学反思
2014/01/19 职场文书
读书活动实施方案
2014/03/10 职场文书
中国好声音华少广告词
2014/03/17 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书
Python标准库pathlib操作目录和文件
2021/11/20 Python