Introduction
show_dialog
widget in Supervisely is a function that is used to display a modal dialog window with customizable content. Users can specify the title
, message
, and status
of the dialog window, such as informational, success, warning, or error.
Function signature
Copy sly . app . show_dialog (
title,
description,
status = "info" ,
)
Parameters
Parameters
Type
Description
Dialog window description text
Literal["info", "success", "warning", "error"]
title
Dialog window title.
type: str
Copy sly . app . show_dialog (title = "Hello" , description = "some message" )
description
Dialog window description.
type: str
Copy sly . app . show_dialog (title = "Hello" , description = "some message" )
status
Dialog window status.
type: Literal["info", "success", "warning", "error"]
default value: info
Mini App Example
You can find this example in our Github repository:
ui-widgets-demos/status elements/004_dialog_message/src/main.py
Import libraries
Copy import os
import supervisely as sly
from dotenv import load_dotenv
from supervisely . app . widgets import Card , Button , Flexbox
Init API client
First, we load environment variables with credentials and init API for communicating with Supervisely Instance:
Copy load_dotenv ( "local.env" )
load_dotenv (os.path. expanduser ( "~/supervisely.env" ))
api = sly . Api ()
Initialize Button
widgets we will use
Copy info_btn = Button ( "Show info" , button_type = "info" )
success_btn = Button ( "Show success" , button_type = "success" )
warning_btn = Button ( "Show warning" , button_type = "warning" )
error_btn = Button ( "Show error" , button_type = "danger" )
Create app layout
Prepare a layout for app using Card
widget with the content
parameter.
Copy # create new cards
card = Card (
title = "Dialog message" ,
description = "click button to show dialog window" ,
content = Flexbox ([info_btn, success_btn, warning_btn, error_btn]),
)
Create app using card
Create an app object with card parameter.
Copy app = sly . Application (layout = card)
Add functions to control Button
widgets from python code and use show_dialog
widget
Copy @info_btn . click
def show_info ():
sly . app . show_dialog (
title = "Hello" ,
description = "Info description" ,
status = "info" ,
)
@success_btn . click
def show_success ():
sly . app . show_dialog (
title = "My success" ,
description = "Success description" ,
status = "success" ,
)
@warning_btn . click
def show_waring ():
sly . app . show_dialog (
title = "My warning" ,
description = "Warning description" ,
status = "warning" ,
)
# or
# raise sly.app.DialogWindowWarning(title="My warning", description="Warning description")
@error_btn . click
def show_error ():
sly . app . show_dialog (
title = "My error" ,
description = "Error description" ,
status = "error" ,
)