Carousel

Introduction

Carousel is a widget in Supervisely that allows loop a series of images or texts in a limited space on the UI.

Function signature

Carousel(
    items: List[Carousel.Item],
    height=150,
    initial_index=0,
    trigger="hover",
    autoplay=True,
    interval=3000,
    indicator_position="none",
    arrow="hover",
    type=None,
    widget_id=None,
)

Example of input data we will use.

# Example of local image
image_id = 22683828
static = os.path.join(sly.app.get_data_dir(), "static")
api.image.download_path(image_id, os.path.join(static, "image.jpg"))

items = [
    Carousel.Item(name="Slide 1", label="https://www.w3schools.com/howto/img_nature.jpg"), # image by URL
    Carousel.Item(name="Slide 2", label=f"{os.path.join('static', 'image.jpg')}"), # image from local directory
    Carousel.Item(name="Slide 3", label="Lorem ipsum dolor sit amet", is_link=False), # text
    Carousel.Item(name="Slide 4", label="https://www.quackit.com/pix/samples/18m.jpg"),
    Carousel.Item(name="Slide 5", label="https://i.imgur.com/OpSj3JE.jpg"),
]

carousel = Carousel(items=items)
carousel_default

Parameters

Parameters
Type
Description

items

List[Carousel.Item]

Input Carousel data

height

int

Height of the Carousel

initial_index

int

Index of the initially active slide (starting from 0)

trigger

Literal["hover", "click"]

How indicators are triggered

autoplay

bool

Whether automatically loop the slides

interval

int

Interval of the auto loop, in milliseconds

indicator_position

Union[Literal["outside", "none"], None]

Position of the indicators

arrow

Literal["always", "hover", "never"]

When arrows are shown

type

Union[Literal["card"], None]

Type of the Carousel

widget_id

str

ID of the widget

items

Determine input Carousel widget data.

type: List[Carousel.Item]

height

Determine height of the Carousel widget.

type: int

default value: 350

height

initial_index

Index of the initially active slide (starting from 0).

type: int

default value: 0

trigger

Determine how indicators are triggered.

type: Literal["hover", "click"]

default value: "click"

autoplay

Determine whether automatically loop the slides.

type: bool

default value: False

interval

Determine interval of the auto loop, in milliseconds.

type: int

default value: 3000

interval

indicator_position

Determine position of the indicators.

type: Literal["outside", "none"]

default value: "none"

indicator_position

arrow

Determine when arrows are shown.

type: Literal["always", "hover", "never"]

default value: "hover"

arrow

type

Determine type of the Carousel.

type: Union[Literal["card"], None]

default value: None

type

Methods and attributes

Attributes and Methods
Description

get_active_item()

Return Carousel selected index.

get_items()

Return Carousel items.

set_items(value: List[Carousel.Item])

Set Carousel items.

add_items(value: List[Carousel.Item])

Add items in Carousel.

set_height()

Set Carousel height.

get_initial_index()

Return Carousel initial_index value.

set_initial_index()

Set Carousel initial_index value.

@value_changed

Decorator function to handle selected value change.

Mini App Example

You can find this example in our Github repository:

supervisely-ecosystem/ui-widgets-demos/media/012_carousel/src/main.py

Import libraries

Init API client

First, we load environment variables with credentials and init API for communicating with Supervisely Instance:

Prepare items for cascader

You can use images from local directory or image URL.

Create app layout

Prepare a layout for app using Card widget with the content parameter.

Create app using layout

Create an app object with layout parameter.

Add functions to control widgets from python code

layout

Last updated

Was this helpful?