Tkinter库的学习记录02-Label

2、标签Label

属性设置

Label()方法可以用于在窗口内建立文字或图像标签,有关图像标签的内容将在后续讨论,语法格式如下:

Label(父对象,option, ...)

参数一:表示这个标签将建立在哪一个父对象(父窗口或者容器)内

其它option参数():

(1) anchor:如果空间大于所需时,控制标签的位置,默认是CENTER(居中)

Literal'nw', 'n', 'ne', 'w', 'center', 'e', 'sw', 's', 'se',表示东南西北,

注意使用小写anchor="se",使用大写anchor=SE

(2) bg或background:背景色彩。

(3) fg或foreground:前景色彩,标签的颜色

(4) bordedwidth或bd:标签边界宽度,默认是1。

(5) compound:可以设置标签内含图像和文字时,彼此的位置关系。

left:图像在左。

right:图像在右。

top:图像在上。

bottom:图像在下。

center:文字覆盖在图像上方。

(6) cursor:当鼠标光标在标签上方时的外形。

(7) bitmap:使用默认图标当作标签内容。

系统默认的图标:error、hourglass、info、questhead、question、warning、

gray12、gray25,gray50、gray75

(8) font:可选择字形、字形样式与大小。

字形family:如Helvetica,Times等,可以自行进入Word内参考所有系统字形。

字号size:单位是像素。

weight:例如bold、normal。

slant:例如italic、roman,如果不是talic则是roman

underline:例如True、False

overstrike:例如True、False

(9) height:标签高度,单位是字符。

(10) width:标签宽度,单位是字符。

(11) image:标签以图像方式呈现。

(12) padx/pady:标签文字与标签区间的间距,单位是像素。.

padx可以设置标签文字左右边界与标签区间的x轴间距,pady可以设置标签文字上下

边界与标签区间的y轴间距。

(13) relief:默认是relief=FLAT,可由此控制标签的外框。

(14) text:标签内容,如果有"\n" 则可输入多行文字。

(15) textvariable:可以设置标签以变量方式显示。

(16) underline:可以设置第几个文字有下画线,从0开始算起,默认是-1,表示无下画线。

(17) justify:存在多方文本时最后一行的对齐方式,可取值有LEFT / CNETER / RIGHT(靠左/居中/靠右),默认是居中对齐。

(18) wraplength:文本到多少宽度后换行,单位是像素。

图像PhotoImage

图片可以应用在许多对方,例如标签、功能按钮、选项按钮、文字区域等。在使用前可以用PhotoImage()方法建立图像对象,然后再将此对象应用在其他窗口组件上。语法如下

python 复制代码
imageobj = PhotoImage(file="xxx.gif")  # 扩展名gif,传回图像对象

PhotoImage()方法早期只支持gif文件格式,不接受常用的jpg或png格式的图像,目前已经可以支持png格式了。可以在Label()方法内使用"image=imageobj"参数设置此图像对象。

如果想要在标签内显示jpg文件,需要借助PIL模块的Image和ImageTk模块,需要先导入pillow模块。

注意在程序设计中需导入的是PIL模块,主要原因是要向旧版Python Image Library兼容,如下所示

python 复制代码
from tkinter import *
from PIL import Image, ImageTk

root = Tk()
root.title("my window")
root.geometry("680x400")

image = Image.open("xxx.jpg")
yellowstone = ImageTk.PhotoImage(image)
label = Label(root, image=yellostone)
label.pack()

root.mainloop()

注意:bitmap参数和image参数不能共存,如果发生这种情况,bitmap参数将不起作用。

Config()方法

widget控件在建立时可以直接设置对象属性,若是部分属性未建立,未来在程序运行时如果想要建立或是更改属性可以使用config()方法。此方法内属性设置的参数用法与建立时相同。

python 复制代码
from tkinter import *

counter = 0                                     # 计数的全局变量
def run_counter(digit):                         # 数字变量内容的更新
    def counting():                             # 更新的数字方法
        global counter                          # 
        counter += 1                            # 定义全局变量
        digit.config(text=str(counter))         # 列出数字内容
        digit.after(1000, counting)             # 隔一秒后调用counting
    counting()                                  # 持续调用

root = Tk()
root.title("ch2_23")
digit = Label(root, bg="yellow", fg="blue", height = 3, width=10, font=("Helvetica", 20, "bold"))
digit.pack()
run_counter(digit=digit)

root.mainloop()

keys()方法

调用这个方法会用一个列表传回这个widget所有的参数。

分割线

python 复制代码
Separator(父对象, option)

参数一:父对象,表示这个分隔线将建立在哪一个父对象内;

options参数如果是HORIZONTAL则建立水平分割线,VERTICAL则建立垂直分隔线。

python 复制代码
from tkinter import *
from tkinter.ttk import Separator

root = Tk()
root.title("ch2_26")

myTitle = "一个人的极境旅行"
myContent = """2016年12月,我一个人订了机票和船票,
开始我的南极旅行,飞机经迪拜再往阿根廷的乌斯环亚,
在此我登上邮轮开始我的南极之旅。"""

lab1 = Label(root, text=myTitle, font=("Helvetica", 20, "bold"))
lab1.pack(padx=10, pady=10)

sep = Separator(root, orient=HORIZONTAL)
sep.pack(fill=X, padx=5)  # 表示此分割线填满X轴,与窗口边界左右均相距5像素

lab2 = Label(root, text=myContent)
lab2.pack(padx=10, pady=10)

root.mainloop()
相关推荐
xlrqx1 小时前
保定家电清洗培训全拆洗教涉及哪些核心要点与行业信息呢?
大数据·python
hhzz10 小时前
Python大数据实战(十六):音乐推荐系统——基于协同过滤算法构建个性化歌单引擎
大数据·人工智能·python·数据挖掘·数据分析
SunnyDays101111 小时前
Python PDF 转 Markdown 详解(转换整个文档,特定页面,表格,扫描 PDF)
python·pdf 转 markdown·pdf 转 md·扫描 pdf 转 md·pdf 表格转 md
2601_9547064911 小时前
云手机 API 自动化实战:Python 批量控机、挂机脚本完整实现
python·智能手机·自动化
Alan_69115 小时前
聊聊 Swagger/Postman/Apifox 的真实选型与 Python 项目实战
python·测试工具·postman
智慧物业老杨16 小时前
物业绿化数智化权责管控方案:基于工单平台的双层权限追溯模块落地实践
python
Metaphor69216 小时前
使用 Python 在 Word 文档中添加批注
python·word
FreakStudio16 小时前
WIZnet 开源方案分享:W55MH32 开发板 + 小智 AI实现以太网版本的小智机器人
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
会周易的程序员16 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot