1. Blocks 布局

刚开始使用 Gradio? 从这里开始: 入门指南

查看 发布历史

gradio.Row(···)

描述

Row是Blocks中的一个布局元素,它以水平方式渲染所有子元素。

示例用法

with gr.Blocks() as demo:
    with gr.Row():
        gr.Image("lion.jpg", scale=2)
        gr.Image("tiger.jpg", scale=1)
demo.launch()

初始化

参数
🔗
variant: Literal['default', 'panel', 'compact']
默认 = "default"

row type, 'default'(无背景)、'panel'(灰色背景和圆角)或 'compact'(圆角且无内部间距)。

🔗
visible: bool | Literal['hidden']
默认 = True

如果为 False,该行将被隐藏。

🔗
elem_id: str | None
默认 = None

一个可选字符串,用作此组件在 HTML DOM 中的 id。可用于定位 CSS 样式。

🔗
elem_classes: list[str] | str | None
默认 = None

一个可选字符串或字符串列表,分配为该组件在 HTML DOM 中的 class。可用于定位 CSS 样式。

🔗
scale: int | None
默认 = None

相对于相邻元素的相对高度。1 或更大表示该 Row 将在高度上扩展,并且任何子列也将扩展以填充该高度。

🔗
render: bool
默认 = True

如果为 False,则此布局不会在 Blocks 上下文中渲染。如果意图是现在分配事件监听器但稍后渲染组件,则应使用此选项。

🔗
height: int | str | None
默认 = None

行的高度,如果传递的是数字则以像素为单位,如果传递的是字符串则以 CSS 单位为单位。如果内容超出高度,行将垂直滚动。如果未设置,行将扩展以适应内容。

🔗
max_height: int | str | None
默认 = None

行的最大高度,如果传递的是数字则以像素为单位,如果传递的是字符串则以 CSS 单位为单位。如果内容超出高度,行将垂直滚动。如果内容短于高度,行将收缩以适应内容。如果设置了 `height` 且小于 `max_height`,则此设置将不起作用。

🔗
min_height: int | str | None
默认 = None

行的最小高度,如果传递的是数字则以像素为单位,如果传递的是字符串则以 CSS 单位为单位。如果内容超出高度,行将扩展以适应内容。如果设置了 `height` 且大于 `min_height`,则此设置将不起作用。

🔗
equal_height: bool
默认 = False

如果为 True,使每个子元素具有相同的高度

🔗
show_progress: bool
默认 = False

如果为 True,则在更新时显示进度动画。

🔗
key: int | str | tuple[int | str, ...] | None
默认 = None

在 `gr.render` 中,跨重渲染具有相同键的组件被视为同一个组件,而不是一个新组件。在 `preserved_by_key` 中设置的属性在重渲染时不会重置。

🔗
preserved_by_key: list[str] | str | None
默认 = None

此组件构造函数中的参数列表。在 `gr.render()` 函数内部,如果一个组件使用相同的键进行重渲染,则这些(也是唯一的)参数将在 UI 中被保留(如果它们已被用户或事件监听器更改),而不是根据构造函数中提供的值进行重渲染。

控制宽度

Row 中元素的宽度可以通过结合使用每个组件中存在的 scalemin_width 参数来控制。

  • scale 是一个整数,它定义了元素在 Row 中占据空间的方式。如果 scale 设置为 0,元素将不会扩展以占据空间。如果 scale 设置为 1 或更大,元素将扩展。行中的多个元素将按比例扩展。在下面,btn2 的扩展量将是 btn1 的两倍,而 btn0 将根本不扩展
with gr.Blocks() as demo:
    with gr.Row():
        btn0 = gr.Button("Button 0", scale=0)
        btn1 = gr.Button("Button 1", scale=1)
        btn2 = gr.Button("Button 2", scale=2)
  • min_width 将设置元素将占据的最小宽度。如果空间不足以满足所有 min_width 值,则 Row 将换行。
gradio