rich.text¶
- class rich.text.Text(text='', style='', *, justify=None, overflow=None, no_wrap=None, end='\n', tab_size=None, spans=None)[source]¶
带有颜色/样式的文本。
- 参数
text (str, 可选) – 默认无样式文本。默认为 “”。
justify (str, 可选) – 对齐方式: “left”, “center”, “full”, “right”。默认为 None。
overflow (str, 可选) – 超出方法: “crop”, “fold”, “ellipsis”。默认为 None。
no_wrap (bool, 可选) – 禁用文本换行,或 None 使用默认值。默认为 None。
end (str, 可选) – 用于结束文本的字符。默认为 “\n”。
tab_size (int) – 每个制表符的空格数,或
None
使用console.tab_size
。默认为 None。spans (List[Span], 可选) –
- classmethod assemble(*parts, style='', justify=None, overflow=None, no_wrap=None, end='\n', tab_size=8, meta=None)[source]¶
通过组合一系列字符串(带可选样式)来构造文本实例。位置参数应该是字符串或字符串 + 样式的元组。
- copy_styles(text)[source]¶
从另一个 Text 实例中复制样式。
- 参数
text (Text) – 要从中复制样式的 Text 实例,必须具有相同的长度。
- 返回类型
None
- divide(offsets)[source]¶
将文本分成给定偏移量的若干行。
- 参数
offsets (Iterable[int]) – 用于划分文本的偏移量。
- 返回值
偏移量之间的新的 RichText 实例。
- 返回类型
Lines
- expand_tabs(tab_size=None)[source]¶
将制表符转换为空格。
- 参数
tab_size (int, optional) – 制表符的大小。默认为 8。
- 返回类型
None
- extend_style(spaces)[source]¶
将 Text 扩展给定数量的空格,其中空格具有与最后一个字符相同的样式。
- 参数
spaces (int) – 要添加到 Text 的空格数。
- 返回类型
None
- classmethod from_ansi(text, *, style='', justify=None, overflow=None, no_wrap=None, end='\n', tab_size=8)[source]¶
从包含 ANSI 转义代码的字符串创建一个 Text 对象。
- 参数
text (str) – 包含转义代码的字符串。
justify (str, 可选) – 对齐方式: “left”, “center”, “full”, “right”。默认为 None。
overflow (str, 可选) – 超出方法: “crop”, “fold”, “ellipsis”。默认为 None。
no_wrap (bool, 可选) – 禁用文本换行,或 None 使用默认值。默认为 None。
end (str, 可选) – 用于结束文本的字符。默认为 “\n”。
tab_size (int) – 每个制表符的空格数,或
None
使用console.tab_size
。默认为 None。
- 返回类型
- classmethod from_markup(text, *, style='', emoji=True, emoji_variant=None, justify=None, overflow=None, end='\n')[source]¶
从标记创建 Text 实例。
- 参数
text (str) – 包含控制台标记的字符串。
emoji (bool, optional) – 还要渲染表情符号代码。默认为 True。
justify (str, 可选) – 对齐方式: “left”, “center”, “full”, “right”。默认为 None。
overflow (str, 可选) – 超出方法: “crop”, “fold”, “ellipsis”。默认为 None。
end (str, 可选) – 用于结束文本的字符。默认为 “\n”。
emoji_variant (Optional[typing_extensions.Literal[emoji, text]]) –
- 返回值
一个渲染了标记的 Text 实例。
- 返回类型
- on(meta=None, **handlers)[source]¶
应用事件处理程序(由 Textual 项目使用)。
示例
>>> from rich.text import Text >>> text = Text("hello world") >>> text.on(click="view.toggle('world')")
- classmethod styled(text, style='', *, justify=None, overflow=None)[source]¶
使用预先应用的样式构造 Text 实例。以这种方式应用的样式不会在文本对齐时用于填充文本。
- wrap(console, width, *, justify=None, overflow=None, tab_size=8, no_wrap=None)[source]¶
对文本进行自动换行。
- 参数
console (Console) – 控制台实例。
width (int) – 每行字符数。
emoji (bool, optional) – 还要渲染表情符号代码。默认为 True。
justify (str, optional) – 对齐方式: “default”, “left”, “center”, “full”, “right”。默认为“default”。
overflow (str, optional) – 超出宽度处理方式: “crop”, “fold”, or “ellipsis”。默认为 None。
tab_size (int, optional) – 默认 Tab 键大小。默认为 8。
no_wrap (bool, optional) – 禁用换行。默认为 False。
- 返回值
行数。
- 返回类型
Lines