RadioGroup

Introduction

RadioGroup widget in Supervisely is a user interface element that allows users to create a group of mutually exclusive options that can be selected via radio buttons. With the RadioGroup widget, users can define a set of options, each with a corresponding radio button, and only one option (RadioGroup.Item) can be selected at a time. Overall, RadioGroup widget is a valuable tool for simplifying user interactions and improving the usability of Supervisely apps.

Function signature

RadioGroup(
    items, size=None,
    direction="horizontal",
    gap=10,
    widget_id=None,
)

Parameters

ParametersTypeDescription

items

List[RadioGroup.Item]

List of RadioGroup content

size

Literal["large", "small", "mini", None]

RadioGroup size

direction

Literal["vertical", "horizontal"]

RadioGroup items direction

gap

int

Gap between RadioGroup items

widget_id

str

ID of the widget

items

Determine list of RadioGroup items.

type: List[RadioGroup.Item]

size

Determine RadioGroup size.

type: Literal["large", "small", "mini", None]

default value: None

radio_group = RadioGroup(items=items, size="large")

direction

Determine RadioGroup items direction.

type: Literal["vertical", "horizontal"]

default value: horizontal

items = [
    RadioGroup.Item(value="cat"),
    RadioGroup.Item(value="dog"),
    RadioGroup.Item(value="bird"),
]

radio_group = RadioGroup(items=items, direction="vertical")

gap

Determine gap between RadioGroup items.

type: int

default value: 10

items = [
    RadioGroup.Item(value="cat"),
    RadioGroup.Item(value="dog"),
    RadioGroup.Item(value="bird"),
]

radio_group = RadioGroup(items=items, gap=100)

widget_id

ID of the widget.

type: str

default value: None

Methods and attributes

Attributes and MethodsDescription

get_value()

Return selected RadioGroup.Item value.

set(items: List[RadioGroup.Item])

Set given list of RadioGroup.Item in RadioGroup.

set_value(value: str)

Set given value by value of RadioGroup.Item.

@value_changed

Decorator function is handled when input RadioGroup is changed.

Mini App Example

You can find this example in our Github repository:

ui-widgets-demos/controls/003_radio_group/src/main.py

Import libraries

import supervisely as sly
from supervisely.app.widgets import RadioGroup, Text, OneOf, Container, Card

Initialize RadioGroup.Item to use in RadioGroup

items=[
    RadioGroup.Item(value="cat", label="Cat", content=Text(text='Cat says "Meow!"')),
    RadioGroup.Item(value="dog", label="Dog", content=Text(text='Dot says "Woof!"')),
    RadioGroup.Item(value="bird", label="Bird", content=Text(text='Bird says "Tweet!"')),
]

Initialize RadioGroup widget

radio_group = RadioGroup(items=items, size="large")

Initialize OneOf widget to have ability to choose RadioGroup.Item content

one_of = OneOf(radio_group)

Create app layout

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

widgets = Container(widgets=[radio_group, one_of])

layout = Card(content=widgets, title="Radio group")

Create app using layout

Create an app object with layout parameter.

app = sly.Application(layout=layout)

Last updated