对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 实现堆排序算法代码
Jun 05 Python
详解Python中open()函数指定文件打开方式的用法
Jun 04 Python
Python编程图形库之Pillow使用方法讲解
Dec 28 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
8种常用的Python工具
Aug 05 Python
基于python模拟bfs和dfs代码实例
Nov 19 Python
python神经网络学习 使用Keras进行回归运算
May 04 Python
Python 绘制多因子柱状图
May 11 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
js form action动态修改方法
2008/11/04 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
Python中返回字典键的值的values()方法使用
2015/05/22 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Django实现学生管理系统
2019/02/26 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
Python实现对adb命令封装
2020/03/06 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
HTML5标签大全
2016/11/23 HTML / CSS
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
办加油卡单位介绍信
2014/01/09 职场文书
丑小鸭教学反思
2014/02/03 职场文书
采购助理岗位职责
2014/02/16 职场文书
英语老师推荐信
2014/02/26 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
2015年度保密工作总结
2015/04/24 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript