渲染组

这个 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()))