热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TkinterLabel文本的多行显示

在Tk004中,使用width和heigth来指定控件的大小,如果指定的大小无法满足文本的要求是,会出现什么现象呢?如下代码:Label(root,textwelco

在 Tk004 中,使用 width 和 heigth 来指定控件的大小,如果指定的大小无法满足文本的要求
是,会出现什么现象呢?如下代码:
Label(root,text = 'welcome to jcodeer.cublog.cn',width = 10,height = 3).pack()
运行程序,超出 Label 的那部分文本被截断了,常用的方法是:使用自动换行功能,及当文
本长度大于控件的宽度时,文本应该换到下一行显示,Tk 不会自动处理,但提供了属性:


wraplength: 指定多少单位后开始换行
justify:  指定多行的对齐方式
ahchor: 指定文本(text)或图像(bitmap/image)在 Label 中的显示位置
可用的值:
e/w/n/s/ne/se/sw/sn/center
布局如下图
nw  n        ne
w  center  e
sw   s       se
'''

from Tkinter import *
root = Tk()
#左对齐,文本居中
Label(root,
text = 'welcome to jcodeer.cublog.cn',
bg = 'yellow',
width = 40,
height = 3,
wraplength = 80,
justify = 'left'
).pack()

#居中对齐,文本居左
Label(root,
text = 'welcome to jcodeer.cublog.cn',
bg = 'red',
width = 40,
height = 3,
wraplength = 80,
anchor = 'w'
).pack()
#居中对齐,文本居右


Label(root,
text = 'welcome to jcodeer.cublog.cn',
bg = 'blue',
width = 40,
height = 3,
wraplength = 80,
anchor = 'e'
).pack()
root.mainloop()

'''
输出结果,justify 与 anchor 的区别了:一个用于控制多行的对齐;另一个用于控制整个文本
块在 Label 中的位置
'''




推荐阅读
author-avatar
俣宸爸555_872_923
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有