渲染组¶
这个 Group
类允许您将多个可呈现对象组合在一起,以便可以在只能提供单个可呈现对象的上下文中呈现它们。例如,您可能希望在 Panel
。
若要在第三个面板中呈现两个面板,您需要使用 child 可呈现为位置参数,然后将结果包装在另一个面板中:
from rich import print
from rich.console import Group
from rich.panel import Panel
panel_group = Group(
Panel("Hello", style="on blue"),
Panel("World", style="on red"),
)
print(Panel(panel_group))
当您预先知道组中将包含哪些可渲染对象时,此模式很好,但如果您有大量可渲染对象,尤其是如果它们是动态的,则可能会变得很尴尬。RICH提供了一个 group()
装饰师来帮助处理这些情况。装饰者从可呈现对象的迭代器构建一个组。以下是使用装饰器的上一个示例的等价物:
from rich import print
from rich.console import group
from rich.panel import Panel
@group()
def get_panels():
yield Panel("Hello", style="on blue")
yield Panel("World", style="on red")
print(Panel(get_panels()))