Gradio 月活用户达到 100 万!

了解更多
Gradio logo
  1. 模态框
  2. 警告

初次使用 Gradio?从这里开始: 开始入门

查看发布历史

警告

gradio.Warning("A warning occured ⛔️!", duration=5)

描述

此函数允许你向用户传递自定义警告消息。你可以通过在函数中简单地编写 gr.Warning('message here') 来实现,当该行代码执行时,自定义消息将出现在演示的模态框中。模态框默认为黄色,标题为:“Warning”。必须启用队列才能实现此行为;否则,警告将使用 warnings 库打印到控制台。

使用示例

import gradio as gr
def hello_world():
    gr.Warning('This is a warning message.')
    return "hello world"
with gr.Blocks() as demo:
    md = gr.Markdown()
    demo.load(hello_world, inputs=None, outputs=[md])
demo.queue().launch()

初始化

参数
🔗
message: str
默认值 = "Warning issued."

要向用户显示的警告消息。可以是 HTML,将在模态框中呈现。

🔗
duration: float | None
默认值 = 10

警告消息应显示的持续时间,以秒为单位。如果为 None 或 0,消息将无限期显示,直到用户关闭它。

🔗
visible: bool
默认值 = True

是否应在 UI 中显示警告消息。

🔗
title: str
默认值 = "Warning"

要在模态框顶部向用户显示的标题。

演示

import gradio as gr

def failure():
    raise gr.Error("This should fail!")

def exception():
    raise ValueError("Something went wrong")

def success():
    return True

def warning_fn():
    gr.Warning("This is a warning!")

def info_fn():
    gr.Info("This is some info")

with gr.Blocks() as demo:
    gr.Markdown("Used in E2E tests of success event trigger. The then event covered in chatbot E2E tests."
                " Also testing that the status modals show up.")
    with gr.Row():
        result = gr.Textbox(label="Result")
        result_2 = gr.Textbox(label="Consecutive Event")
    with gr.Row():
        success_btn = gr.Button(value="Trigger Success")
        success_btn_2 = gr.Button(value="Trigger Consecutive Success")
        failure_btn = gr.Button(value="Trigger Failure")
        failure_exception = gr.Button(value="Trigger Failure With ValueError")
    with gr.Row():
        trigger_warning = gr.Button(value="Trigger Warning")
        trigger_info = gr.Button(value="Trigger Info")

        success_btn_2.click(success, None, None).success(lambda: "First Event Trigered", None, result).success(lambda: "Consecutive Event Triggered", None, result_2)
        success_btn.click(success, None, None).success(lambda: "Success event triggered", inputs=None, outputs=result)
        failure_btn.click(failure, None, None).success(lambda: "Should not be triggered", inputs=None, outputs=result)
        failure_exception.click(exception, None, None)
        trigger_warning.click(warning_fn, None, None)
        trigger_info.click(info_fn, None, None)

if __name__ == "__main__":
    demo.launch(show_error=True)