目录
- 标签
- 尺寸设置与文本内容
- 文本对齐与换行
- 标记文本
- 文本中的交互区域
- 支持Unicode语言
- 使用示例
LabelLabel.anchorsLabel.base_directionLabel.boldLabel.colorLabel.disabled_colorLabel.disabled_outline_colorLabel.ellipsis_optionsLabel.font_blendedLabel.font_contextLabel.font_directionLabel.font_familyLabel.font_featuresLabel.font_hintingLabel.font_kerningLabel.font_nameLabel.font_script_nameLabel.font_sizeLabel.halignLabel.is_shortenedLabel.italicLabel.limit_render_to_text_bboxLabel.line_heightLabel.markupLabel.max_linesLabel.mipmapLabel.on_touch_down()Label.outline_colorLabel.outline_widthLabel.paddingLabel.padding_xLabel.padding_yLabel.refsLabel.shortenLabel.shorten_fromLabel.split_strLabel.strikethroughLabel.stripLabel.textLabel.text_languageLabel.text_sizeLabel.textureLabel.texture_sizeLabel.texture_update()Label.underlineLabel.unicode_errorsLabel.valign
标签¶
Label 组件用于渲染文本:
# hello world text
l = Label(text='Hello world')
# unicode text; can only display glyphs that are available in the font
l = Label(text='Hello world ' + chr(2764))
# multiline text
l = Label(text='Multi\nLine')
# size
l = Label(text='Hello world', font_size='20sp')
尺寸设置与文本内容¶
默认情况下,Label 的大小不受 text 内容的影响,文本也不受大小的影响。为了控制尺寸,您必须指定 text_size 来约束文本,和/或将 size 绑定到 texture_size 以随文本增长。
例如,这个标签的大小将被设置为文本内容(加上 padding):
Label:
size: self.texture_size
该标签的文本将在指定宽度处换行,并裁剪至指定高度:
Label:
text_size: cm(6), cm(4)
结合这些概念,创建一个可以垂直增长但在特定宽度处换行的标签。
Label:
text_size: root.width, None
size: self.texture_size
如何在标签中设置自定义背景颜色:
# Define your background color Template
<BackgroundColor@Widget>
background_color: 1, 1, 1, 1
canvas.before:
Color:
rgba: root.background_color
Rectangle:
size: self.size
pos: self.pos
# Now you can simply Mix the `BackgroundColor` class with almost
# any other widget... to give it a background.
<BackgroundLabel@Label+BackgroundColor>
background_color: 0, 0, 0, 0
# Default the background color for this label
# to r 0, g 0, b 0, a 0
# Use the BackgroundLabel any where in your kv code like below
BackgroundLabel
text: 'Hello'
background_color: 1, 0, 0, 1
文本对齐与换行¶
Label 具有 halign 和 valign 属性来控制其文本的对齐方式。然而,默认情况下,文本图像(texture)仅足够大以容纳字符,并位于 Label 的中心。valign 属性将不起作用,而 halign 仅在文本包含换行符时才会生效;即使 halign 设置为左对齐(默认值),单行文本也会显示为居中。
为了使对齐属性生效,请设置 text_size,它指定了文本对齐的边界框大小。例如,以下代码将此大小绑定到 Label 的大小,因此文本将在控件边界内对齐。这也会自动换行 Label 的文本,使其保持在该区域内。
Label:
text_size: self.size
halign: 'right'
valign: 'middle'
标记文本¶
在 1.1.0 版本加入.
您可以使用 文本标记 来改变文本的样式。其语法类似于bbcode语法,但仅允许内联样式,如下所示:
# hello world with world in bold
l = Label(text='Hello [b]World[/b]', markup=True)
# hello in red, world in blue
l = Label(text='[color=ff3333]Hello[/color][color=3333ff]World[/color]',
markup = True)
如果你需要从当前文本中转义标记,请使用 kivy.utils.escape_markup():
text = 'This is an important message [1]'
l = Label(text='[b]' + escape_markup(text) + '[/b]', markup=True)
可用的标签如下:
[b][/b]激活粗体文本
[i][/i]激活斜体文本
[u][/u]带下划线的文本
[s][/s]删除线文本
[font=<str>][/font]更改字体(注意:此处指的是TTF文件或已注册的别名)
[font_context=<str>][/font_context]更改字体的上下文,使用字符串值“none”表示隔离上下文(这等同于`None`;如果你创建了一个名为`'none'`的字体上下文,则无法通过标记来引用它)。
[font_family=<str>][/font_family]请求用于绘制的字体族。这仅在字体上下文(font context)下有效,详见
kivy.uix.label.Label。[font_features=<str>][/font_features]OpenType 字体特性,以 CSS 格式表示,此内容直接传递给 Pango。请求特性的效果取决于加载的字体、库版本等。仅限 Pango,要求版本 1.38 或更高。
[size=<整数>][/size]修改字体大小
[color=#<color>][/color]更改文本颜色
[ref=<str>][/ref]添加一个交互区域。该参考及其内部的边界框将可在
Label.refs中使用。[anchor=<str>]在文本中放置一个锚点。您可以通过
Label.anchors获取锚点在文本中的位置。[sub][/sub]将文本显示在其前一个文本的下标位置。
[sup][/sup]将文本显示为相对于其前文本的上标位置。
[text_language=<str>][/text_language]文本的语言,这是一个RFC-3066格式的语言标签(作为字符串),例如“en_US”、“zh_CN”、“fr”或“ja”。这会影响字体选择和度量。使用字符串“None”可恢复为区域设置检测。仅限Pango。
如果你想要渲染包含 [、] 或 & 字符的标记文本,你需要对它们进行转义。我们创建了一个简单的语法:
[ -> &bl;
] -> &br;
& -> &
然后你可以这样写:
"[size=24]Hello &bl;World&br;[/size]"
文本中的交互区域¶
在 1.1.0 版本加入.
现在,您可以使用文本标记来定义“链接”。其理念是能够检测用户点击文本的某一部分并作出反应。为此,使用标签 [ref=xxx]。
在此示例中,我们为单词“World”创建了一个引用。当该单词被点击时,将调用函数``print_it``,并传入该引用的名称:
def print_it(instance, value):
print('User clicked on', value)
widget = Label(text='Hello [ref=world]World[/ref]', markup=True)
widget.bind(on_ref_press=print_it)
为了更美观的渲染效果,你可以为引用添加颜色。将之前示例中的 text= 替换为:
'Hello [ref=world][color=0000ff]World[/color][/ref]'
支持Unicode语言¶
Kivy 使用的字体并不包含显示所有语言所需的全部字符。当您使用内置组件时,这会导致在您期望显示字符的位置绘制出一个方块。
如果您需要显示这些字符,可以选择一款支持它们的字体,并通过kv文件全局部署该字体。
<Label>:
font_name: '/<path>/<to>/<font>'
请注意,这需要在你的控件加载之前完成,因为kv规则仅在加载时应用。
使用示例¶
以下示例标记了标签中包含的锚点和引用:
from kivy.app import App
from kivy.uix.label import Label
from kivy.clock import Clock
from kivy.graphics import Color, Rectangle
class TestApp(App):
@staticmethod
def get_x(label, ref_x):
""" Return the x value of the ref/anchor relative to the canvas """
return label.center_x - label.texture_size[0] * 0.5 + ref_x
@staticmethod
def get_y(label, ref_y):
""" Return the y value of the ref/anchor relative to the canvas """
# Note the inversion of direction, as y values start at the top of
# the texture and increase downwards
return label.center_y + label.texture_size[1] * 0.5 - ref_y
def show_marks(self, label):
# Indicate the position of the anchors with a red top marker
for name, anc in label.anchors.items():
with label.canvas:
Color(1, 0, 0)
Rectangle(pos=(self.get_x(label, anc[0]),
self.get_y(label, anc[1])),
size=(3, 3))
# Draw a green surround around the refs. Note the sizes y inversion
for name, boxes in label.refs.items():
for box in boxes:
with label.canvas:
Color(0, 1, 0, 0.25)
Rectangle(pos=(self.get_x(label, box[0]),
self.get_y(label, box[1])),
size=(box[2] - box[0],
box[1] - box[3]))
def build(self):
label = Label(
text='[anchor=a]a\nChars [anchor=b]b\n[ref=myref]ref[/ref]',
markup=True)
Clock.schedule_once(lambda dt: self.show_marks(label), 1)
return label
TestApp().run()
- class kivy.uix.label.Label(**kwargs)[源代码]¶
基类:
WidgetLabel 类,更多信息请参阅模块文档。
- 事件:
- on_ref_press
当用户点击文本标记中带有``[ref]``标签引用的单词时触发。
- anchors¶
在 1.1.0 版本加入.
文本中所有``[anchor=xxx]``标记的位置。这些坐标相对于文本左上角,y值向下递增。锚点名称应唯一,且仅记录任何重复锚点的首次出现位置。
您可以按照以下方式在标记文本中放置锚点:
text = """ [anchor=title1][size=24]This is my Big title.[/size] [anchor=content]Hello world """
然后,所有
[anchor=]引用将被移除,你将在此属性中获得所有锚点位置(仅在渲染后)::>>> widget = Label(text=text, markup=True) >>> widget.texture_update() >>> widget.anchors {"content": (20, 32), "title1": (20, 16)}
备注
这仅适用于标记文本。您需要将
markup设置为 True。
- base_direction¶
文本的基础方向,这会影响当
halign为 `auto`(默认值)时的水平对齐方式。可用选项有:None、"ltr"(从左到右)、"rtl"(从右到左),以及 "weak_ltr" 和 "weak_rtl"。备注
此功能需要Pango文本提供程序。
备注
Kivy 文本布局目前尚未实现弱模式,其效果与设置强模式相同。
在 1.11.0 版本加入.
base_direction是一个OptionProperty,默认值为 None(如果可能则自动检测从右到左,否则为从左到右)。
- bold¶
指示使用字体的粗体版本。
备注
根据您使用的字体,粗体属性可能对文本渲染没有影响。
bold是一个BooleanProperty,默认值为 False。
- color¶
文本颜色,格式为(r, g, b, a)。
color是一个ColorProperty,默认值为 [1, 1, 1, 1]。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- disabled_color¶
当控件被禁用时文本的颜色,格式为 (r, g, b, a)。
在 1.8.0 版本加入.
disabled_color是一个ColorProperty,默认值为 [1, 1, 1, .3]。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- disabled_outline_color¶
当控件被禁用时,文本轮廓的颜色,格式为 (r, g, b)。
备注
此功能需要SDL2文本提供程序。
在 1.10.0 版本加入.
disabled_outline_color是一个ColorProperty,默认值为 [0, 0, 0]。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。Alpha 分量被忽略,对其赋值不会产生任何效果。
- ellipsis_options¶
用于分割文本的省略号字符串('...')的字体选项。
接受一个字典作为选项名及其值。仅在
markup为真且文本被缩短时应用。所有适用于Label的字体选项同样适用于ellipsis_options。未指定的选项默认值取自周围文本。Label: text: 'Some very long line which will be cut' markup: True shorten: True ellipsis_options: {'color':(1,0.5,0.5,1),'underline':True}
在 2.0.0 版本加入.
ellipsis_options是一个DictProperty,默认值为 `{}`(空字典)。
- font_blended¶
是否应使用混合或实心字体渲染。
备注
此功能需要SDL2文本提供程序。
在 1.10.0 版本加入.
font_blended是一个BooleanProperty,默认值为 True。
- font_context¶
字体上下文。None 表示字体被独立使用,因此您可以确保使用由
font_name解析的 TTF 文件进行绘制。在此处指定值会将字体文件加载到命名上下文中,从而在同一上下文中的所有字体之间实现回退。如果设置了字体上下文,则无法保证渲染会实际使用指定的 TTF 文件来绘制所有字形(Pango 将选择它认为最合适的字体)。如果 Kivy 链接到了系统级安装的 FontConfig,你可以通过指定以特殊字符串 system:// 开头的字体上下文来加载系统字体。这将加载系统的 fontconfig 配置,并在其之上添加你的应用程序特定字体(这会带来显著的字体族名称冲突风险,Pango 可能不会使用你的自定义字体文件,而是从系统中选择一个)。
备注
此功能需要Pango文本提供程序。
在 1.11.0 版本加入.
font_context是一个StringProperty,默认值为 None。
- font_direction¶
特定字体的方向,可以是 ltr、rtl、ttb、btt 之一。
font_direction 目前仅适用于 SDL2 ttf 提供程序。
在 2.2.0 版本加入.
font_direction是一个OptionProperty,默认值为 'ltr'。
- font_family¶
字体族,此选项仅在启用
font_context时适用。将请求指定的字体族,但请注意,该字体可能不可用,或者可能存在多个以相同族名注册的字体。该值可以是字体上下文中可用的族名(字符串)(例如,system:// 上下文中的系统字体,或使用kivy.core.text.FontContextManager添加的自定义字体文件)。如果设置为 None,则字体选择由font_name设置控制。备注
如果使用
font_name引用自定义字体文件,应将其保留为 None。在这种情况下,字体族名称会自动管理。备注
此功能需要Pango文本提供程序。
在 1.11.0 版本加入.
font_family是一个StringProperty,默认值为 None。
- font_features¶
OpenType字体特性,以CSS格式表示,此内容直接传递给Pango。请求特定特性的效果取决于加载的字体、库版本等。有关特性的完整列表,请参阅:
https://en.wikipedia.org/wiki/List_of_typographic_features
备注
此功能需要Pango文本提供程序,以及Pango库v1.38或更高版本。
在 1.11.0 版本加入.
font_features是一个StringProperty,默认值为空字符串。
- font_hinting¶
用于字体渲染的提示选项。可以是 'normal'、'light'、'mono' 或 None。
备注
此功能需要SDL2或Pango文本提供程序。
在 1.10.0 版本加入.
font_hinting是一个OptionProperty,默认值为 'normal'。
- font_kerning¶
是否启用字体渲染的字距调整。通常只有在特定字体文件渲染出现问题时,才应禁用此功能。
备注
此功能需要SDL2文本提供程序。
在 1.10.0 版本加入.
font_kerning是一个BooleanProperty,默认值为 True。
- font_name¶
要使用的字体文件名。路径可以是绝对路径或相对路径。相对路径由
resource_find()函数解析。警告
根据您的文本提供者,字体文件可能会被忽略。然而,您通常可以毫无问题地使用它。
如果所使用的字体缺少您正在使用的特定语言/符号的字形,您将看到“[]”空白框字符,而不是实际字形。解决方案是使用包含您需要显示的字形的字体。例如,要显示|unicodechar|,请使用像freesans.ttf这样包含该字形的字体。
font_name是一个StringProperty,默认值为 'Roboto'。该值取自Config。
- font_script_name¶
script_code 来自 https://bit.ly/TypeScriptCodes 。
在 2.2.0 版本加入.
警告
font_script_name 目前仅在 SDL2 ttf 提供程序中受支持。
font_script_name是一个OptionProperty,默认值为 'Latn'。
- font_size¶
文本的字体大小,以像素为单位。
font_size是一个NumericProperty,默认值为 15sp。
- halign¶
文本的水平对齐方式。
halign是一个OptionProperty,默认值为 'auto'。可用选项包括:auto、left、center、right 和 justify。auto 会尝试自动检测从右到左(RTL)文本的水平对齐方式(仅限 Pango),否则其行为与 left 相同。警告
这不会改变Label的文本纹理位置(居中),只会改变该纹理中文本的位置。你可能希望将Label的大小绑定到:attr:texture_size,或者设置一个:attr:text_size。
在 1.10.1 版本发生变更: 添加了 auto 选项
在 1.6.0 版本发生变更:
halign新增了一个选项,即 justify。
- is_shortened¶
该属性指示当
shorten为 True 时,text是否在渲染时进行了缩短处理。在 1.10.0 版本加入.
is_shortened是一个BooleanProperty,默认值为 False。
- italic¶
指示使用字体的斜体版本。
备注
根据您使用的字体,斜体属性可能对文本渲染没有影响。
italic是一个BooleanProperty,默认值为 False。
- limit_render_to_text_bbox¶
如果设置为
True,此参数表示渲染应限制在文本的边界框内,不包括为上升和下降预留的任何额外空白。通过将渲染限制在文本的边界框内,在使用诸如`valign`、y、pos、`pos_hint`等属性时,它能确保与周围元素更精确的对齐。
备注
此功能需要PIL文本提供程序。
limit_render_to_text_bbox是一个BooleanProperty,默认值为 False。
- line_height¶
文本的行高。例如,line_height = 2 将使行间距变为原来的两倍。
line_height是一个NumericProperty,默认值为 1.0。在 1.5.0 版本加入.
- markup¶
在 1.1.0 版本加入.
如果为 True,文本将使用
MarkupLabel进行渲染:你可以通过标签来改变文本的样式。更多信息请参阅 文本标记 文档。markup是一个BooleanProperty,默认值为 False。
- max_lines¶
最大行数,默认为0,表示无限制。请注意,
shorten会覆盖此属性。(使用 shorten 时,文本始终为单行。)在 1.8.0 版本加入.
max_lines是一个NumericProperty,默认值为 0。
- mipmap¶
指示是否对纹理应用OpenGL mipmapping。更多信息请阅读 Mipmapping(多级纹理映射)。
在 1.0.7 版本加入.
mipmap是一个BooleanProperty,默认值为 False。
- on_touch_down(touch)[源代码]¶
接收触摸按下事件。
- 参数:
- touch:
MotionEvent类 收到触摸事件。该触摸位于父级坐标系中。关于坐标系统的讨论,请参阅
relativelayout。
- touch:
- 返回:
bool 如果为 True,触摸事件的派发将停止。如果为 False,事件将继续派发给控件树中的其余部分。
- outline_color¶
文本轮廓的颜色,格式为(r,g,b)。
备注
此功能需要SDL2文本提供程序。
在 1.10.0 版本加入.
outline_color是一个ColorProperty,默认值为 [0, 0, 0, 1]。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。Alpha 分量被忽略,对其赋值不会产生任何效果。
- outline_width¶
文本周围轮廓的宽度(以像素为单位)。如果值为None,则不渲染轮廓。
备注
此功能需要SDL2文本提供程序。
在 1.10.0 版本加入.
outline_width是一个NumericProperty,默认值为 None。
- padding¶
文本的内边距,格式为 [padding_left, padding_top, padding_right, padding_bottom]
padding也接受双参数形式 [padding_horizontal, padding_vertical] 和单参数形式 [padding]。在 2.2.0 版本发生变更: 已将 ReferenceListProperty 替换为 VariableListProperty。
padding是一个VariableListProperty,默认值为 [0, 0, 0, 0]。
- padding_x¶
控件框内文本的水平内边距。
padding_x是一个NumericProperty,默认值为 0。在 1.9.0 版本发生变更: padding_x 已修复,现在能按预期工作。过去,文本会按其值的负数进行填充。
自 2.2.0 版本弃用: 请使用
padding代替。
- padding_y¶
控件框内文本的垂直内边距。
padding_y是一个NumericProperty,默认值为 0。在 1.9.0 版本发生变更: padding_y 已修复,现在能按预期工作。过去,文本会按其值的负数进行填充。
自 2.2.0 版本弃用: 请使用
padding代替。
- refs¶
在 1.1.0 版本加入.
文本中所有``[ref=xxx]``标记项的列表,包含每个引用内所有单词的边界框,仅在渲染后可用。
例如,如果你写了:
Check out my [ref=hello]link[/ref]
refs 将通过以下方式设置:
{'hello': ((64, 0, 78, 16), )}
标记为“hello”的引用具有一个边界框,坐标为(x1, y1, x2, y2)。这些坐标相对于文本左上角,y值向下递增。您可以定义多个同名引用:每次出现都会作为另一个(x1, y1, x2, y2)元组添加到该列表中。
当前Label实现会在您的标记文本中存在这些引用时自动使用它们,处理触摸碰撞并分发`on_ref_press`事件。
你可以像这样绑定一个ref事件:
def print_it(instance, value): print('User click on', value) widget = Label(text='Hello [ref=world]World[/ref]', markup=True) widget.bind(on_ref_press=print_it)
备注
这仅适用于标记文本。您需要将
markup设置为 True。
- shorten¶
指示在给定
text_size的情况下,标签是否应尽可能缩短其文本内容。若将此设置为 True 而未适当设置text_size,将导致意外结果。shorten_from和split_str控制text被分割的方向,以及允许在text中的哪个位置进行分割。shorten是一个BooleanProperty,默认值为 False。
- shorten_from¶
缩短文本时应从哪一侧进行,可以是左侧、右侧或中心。
例如,如果设置为 left,省略号将出现在左侧,我们会尽可能多地显示从右侧开始的文本。与
shorten类似,此选项仅在text_size[0] 不为 None 时生效,在这种情况下,字符串会被缩短以适应指定的宽度。在 1.9.0 版本加入.
shorten_from是一个OptionProperty,默认值为 center。
- split_str¶
用于在
shorten为 True 时缩短字符串时分割text的字符串。例如,如果分隔符是空格,字符串将被拆分为单词,并尽可能将能容纳在一行内的完整单词显示出来。如果
split_str是空字符串 '',则我们按每个字符进行拆分,尽可能将更多文本放入一行中。在 1.9.0 版本加入.
split_str是一个StringProperty,默认值为 `''`(空字符串)。
- strikethrough¶
为文本添加删除线。
备注
此功能需要SDL2文本提供程序。
在 1.10.0 版本加入.
strikethrough是一个BooleanProperty,默认值为 False。
- strip¶
是否应从每个显示行中去除前导和尾随空格及换行符。若为True,则每行将从右边缘或左边缘开始,具体取决于:attr:halign。若:attr:halign`为`justify,则此属性隐式为True。
在 1.9.0 版本加入.
strip是一个BooleanProperty,默认值为 False。
- text¶
标签的文本。
创建一个简单的“Hello World”程序:
widget = Label(text='Hello world')
text是一个StringProperty,默认值为 ''。
- text_language¶
文本的语言,若为None,Pango将根据区域设置自动确定。这是一个RFC-3066格式的语言标签(字符串形式),例如"en_US"、"zh_CN"、"fr"或"ja"。这会影响字体选择、度量和渲染。例如,相同的文本字节在`ur`和`ar`语言下可能看起来不同,尽管两者都使用阿拉伯文字。
备注
此功能需要Pango文本提供程序。
在 1.11.0 版本加入.
text_language是一个StringProperty,默认值为 None。
- text_size¶
默认情况下,标签不受任何边界框的约束。您可以通过此属性设置标签的大小约束。文本将自动适应这些约束进行排版。因此,尽管字体大小不会被缩小,但文本会尽可能排列以适应框内,超出框外的任何文本将被裁剪。
如果 text_size 不为 None,则设置并裁剪
texture_size为 text_size。在 1.0.4 版本加入.
例如,无论当前控件尺寸如何,如果您希望标签在一个宽度为200、高度无限的盒子中创建::
Label(text='Very big big line', text_size=(200, None))
备注
text_size 属性与
Label类中的usersize属性相同。(在构造函数中它被命名为 size=。)text_size是一个ListProperty,默认值为 (None, None),表示默认情况下没有尺寸限制。
- texture¶
文本的纹理对象。当属性发生变化时,文本会自动渲染。此操作中创建的OpenGL纹理存储在该属性中。您可以将此
texture用于任何图形元素。根据纹理创建方式的不同,该值将是一个
Texture或TextureRegion对象。警告
texture的更新被安排在下一帧。如果你在更改属性后需要立即获取纹理,则必须在访问texture之前调用texture_update()方法::l = Label(text='Hello world') # l.texture is good l.font_size = '50sp' # l.texture is not updated yet l.texture_update() # l.texture is good now.
texture是一个ObjectProperty,默认值为 None。
- texture_size¶
文本的纹理大小。该大小由字体大小和文本决定。如果
text_size为 [None, None],则纹理大小将适应文本所需的大小;否则,纹理将被裁剪以适应text_size。当
text_size为 [None, None] 时,可以绑定到 texture_size 并按比例重新缩放,以适应标签的大小,从而使文本在标签中最大化地适配。警告
:
texture_size是在texture属性之后设置的。如果你监听texture的变化,在你的回调函数中texture_size可能不是最新的。请改为绑定到texture_size。
- texture_update(*largs)[源代码]¶
使用当前Label属性强制重新创建纹理。
在此函数调用之后,
texture和texture_size将按此顺序更新。
- underline¶
为文本添加下划线。
备注
此功能需要SDL2文本提供程序。
在 1.10.0 版本加入.
underline是一个BooleanProperty,默认值为 False。
- unicode_errors¶
如何处理Unicode解码错误。可以是`'strict'、'replace'或'ignore'`。
在 1.9.0 版本加入.
unicode_errors是一个OptionProperty,默认值为 'replace'。
- valign¶
文本的垂直对齐方式。
valign是一个OptionProperty,默认值为 'bottom'。可用选项包括:'bottom'、'middle'`(或 `'center')和 'top'。在 1.10.0 版本发生变更: 'center' 选项已作为 'middle' 的别名添加。
警告
这不会改变Label的文本纹理位置(居中),只会改变文本在该纹理内的位置。你可能希望将Label的大小绑定到:attr:texture_size,或设置:attr:`text_size`来改变这一行为。