root.title(
'NoteBook'
)
photo = PhotoImage(file =
'timg.gif'
)
the_Label = Label(root,text =
'这是一只睡觉的小猫,\n王晓明看傻了!'
,
justify = LEFT,
image = photo,
compound = CENTER,
font = (
'黑体'
,
10
),
fg =
'black'
)
the_Label.pack(side = LEFT)
root.mainloop()
compound:同时使用图像与文本, 指定文本(text)与图像
(bitmap/image)是如何在Label上显示,缺省为None,
当指定image/bitmap时,文本(text)将被覆盖,只显示图像了。可以使用的值:
left: 图像居左
right: 图像居右
top: 图像居上
bottom: 图像居下
center:文字覆盖在图像上
文本的多行显示
在Tk中,使用width和heigth来指定控件的大小,如果指定的大小无法满足文本的要求是,会出现什么现象呢?如下代码:
Label(root,bg = 'welcome to jcodeer.cublog.cn',width = 10,height = 3).pack()
运行程序,超出Label的那部分文本被截断了,常用的方法是:使用自动换行功能,及当文本长度大于控件的宽度时,文本应该换到下一行显示,Tk不会自动处理,但提供了属性:
wraplength: 指定多少单位后开始换行
justify: 指定多行的对齐方式
ahchor: 指定文本(text)或图像(bitmap/image)在Label中的显示位置
可用的值:
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中的位置
常用属性
属性名称 属性含义
anchor 指示文字会被放在控件的什么位置, 可选项有 N, NE, E, SE, S, SW, W, NW, CENTER. 默认为 CENTER.
aspect 控件的宽高比, 即 width/height , 以百分比形式表示. 默认为 150, 即 Message 控件宽度比其高度大 50%. 注意: 如果显式的指定了控件宽度, 则该属性将被忽略.
background 控件的背景色. 默认值为当前窗口系统的默认背景色.
bg 同 background.
borderwidth 边框宽度. 默认为2.
bd 同 borderwidth.
cursor 定义鼠标移动到 Message 上时的光标样式. 默认为系统标准样式.
font 文字字体. 默认为当前系统默认.
foreground 文字颜色. 默认为当前系统默认.
fg 同 foreground
highlightbackground 和 highlightcolor, highlightthickness 这两个属性一起指定了控件如何绘制高亮区域.
highlightcolor 参考 highlightbackground.
highlightthickness 参考 highlightbackground.
justify 指示多行文本如何对齐. 可选项为 LEFT, RIGHT, CENTER. 默认为 LEFT. 注意: 该属性指示文字对齐方式. 如果要指定文字在控件内的位置, 请使用 anchor 属性.
padx 水平方向的边距. 默认为 -1, 即无边距.
pady 垂直方向的边距. 默认为 -1, 即无边距.
relief 边框样式. 默认为 FLAT. 其他可选项为 SUNKEN, RAISED, GROOVE, RIDGE.
takefocus 如果设置为 True, 控件将可以获取焦点. 默认为 False.
text 文字内容. 控件将根据宽度自动对文字进行断行.
textvariable 关联一个 Tkinter variable 对象, 通常为 StringVar 对象. 控件文本将在该对象改变时跟着改变.
width 控件宽度, 单位为 charater units (不是像素). 如果未指定该选项, 将根据 aspect 属性自动设置宽度.
Tkinter
组件
详解之
Label
Label
(
标签
)
组件
用于在屏幕上显示文本或图像。
Label
组件
仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷键)。
何时使用
Label
组件
?
Label
组件
用于显示文本和图像,并且使用双缓冲,这样你就可以随时更新内容,没有恼人的闪烁。
如果希望显示的数据用户可以进行操作,使用 Canv...
浏览器打开
上一篇咱们创建了一个包含
Label
的
Tkinter
窗口, 那咱们今天就来说说
Tkinter
的
Label
控件吧。
Label
, 正如其名, 是
Tkinter
显示文本的
组件
,但它也能够显示图片哦~
Label
显示文本#
Label
组件
显示文本
运行结果其实这就是把上一篇的程序换了一下文字罢了,也没什么好说的,可以参考Sam编程小白:Python
Tkinter
学习日记(1)zhuanl...
浏览器打开
Label
Frame小部件用于在其子小部件周围绘制边框。我们还可以显示
Label
Frame小部件的标题。它就像一个容器,可以用来分组相互关联的小部件的数量,如Radiobuttons。此小部件是Frame小部件的变体,具有框架的所有功能。它还可以显示
标签
。下面给出了使用
Label
Frame小部件的语法。句法w=
Label
Frame(top,options)选项列表如下。SN选项说明1bg小部...
浏览器打开
Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdown普通布局code"""@Author : 行初心@Date : 18-10-1@Blog : www.cnblogs.com/xingchuxin@Gitee : gitee.com/zhicheng...
浏览器打开
Tkinter
组件
详解之
Label
Frame
Label
Frame
组件
是 Frame
组件
的变体。默认情况下,
Label
Frame 会在其子
组件
的周围绘制一个边框以及一个标题。
何时使用
Label
Frame
组件
?
当你想要将一些相关的
组件
分为一组的时候,可以使用
Label
Frame
组件
,比如一系列 Radiobutton(单选按钮)
组件
。
为
组件
分组,需要先创建一个 L...
浏览器打开
支持python的常见GUI工具包:
Tkinter
使用Tk平台 很容易得到 半标准 wxpython 基于wxWindows。跨平台越来越流行 Python Win 只能在Windows上使用 使用了本机的Windows GUI功能 Java Swing 只能...
浏览器打开
你能帮我解决下列问题吗?在我使用Python的
Tkinter
编写了一个带有GUI的小应用程序。在然而,GUI的一个
标签
是向上移动的,而不是垂直对齐同一行中的另一个元素(刻度)。见附图。在这个问题只会出现一次,而其他完美的元素则不会出现在各自的行内并排排列。在我使用了网格几何管理器。在如何使
标签
与同一行的刻度垂直对齐?对于网格管理器,是否有一些选项需要指定?我红了方格医生,但我不知道该怎么办。在GU...
浏览器打开