> For the complete documentation index, see [llms.txt](https://developer.supervisely.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.supervisely.com/app-development/widgets/controls.md).

# Controls

Allow users to interact with and control various aspects of an application.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Button</strong></td><td><img src="https://1972929262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2ZRtnNbqSpWk5uCfyE1A%2Fuploads%2Fgit-blob-cdbf32d8735409660c2ea76222471caeca71efc8%2Fwidgets-button.png?alt=media" alt=""></td><td><mark style="color:purple;">User-interactive button that executes a command or triggers an event when clicked</mark></td><td><a href="/app-development/widgets/controls/button.md">Button</a></td></tr><tr><td><strong>Checkbox</strong></td><td><img src="https://1972929262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2ZRtnNbqSpWk5uCfyE1A%2Fuploads%2Fgit-blob-54c3c20cf2418456503e95eb4e79aea45d0e61d6%2Fimage.png?alt=media" alt="" data-size="original"></td><td><mark style="color:purple;">Toggleable box that allows users to make binary choices, often used for multiple selections</mark></td><td><a href="/app-development/widgets/controls/checkbox.md">Checkbox</a></td></tr><tr><td><strong>CheckboxField</strong></td><td><img src="https://1972929262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2ZRtnNbqSpWk5uCfyE1A%2Fuploads%2Fgit-blob-efb990a50da6547aa9c7b40adc8aa5a4b25ee0a3%2Fcheckboxfield.png?alt=media" alt="" data-size="original"></td><td><mark style="color:purple;">Toggleable box that allows users to make binary choices in form field</mark></td><td><a href="/app-development/widgets/controls/checkboxfield.md">CheckboxField</a></td></tr><tr><td><strong>Radio Group</strong></td><td><img src="https://1972929262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2ZRtnNbqSpWk5uCfyE1A%2Fuploads%2Fgit-blob-b76d9a7dd741ea6f949496aafb943e129c4c6e0a%2Fwidget-radioGroup.png?alt=media" alt=""></td><td><mark style="color:purple;">Group of options where only one can be selected at a time, suitable for mutually exclusive choices</mark></td><td><a href="/app-development/widgets/controls/radiogroup.md">RadioGroup</a></td></tr><tr><td><strong>Switch</strong></td><td><img src="https://1972929262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2ZRtnNbqSpWk5uCfyE1A%2Fuploads%2Fgit-blob-921bc01325fdddb5ab642646ef30448d99664057%2Fwidget-switch.png?alt=media" alt=""></td><td><mark style="color:purple;">Control that provides a visual cue for enabling or disabling a feature or setting</mark></td><td><a href="/app-development/widgets/controls/switch.md">Switch</a></td></tr><tr><td><strong>Slider</strong></td><td><img src="https://user-images.githubusercontent.com/79905215/224255842-6cecad1a-0502-4dea-9cb7-f891cf9c96a7.png" alt="" data-size="original"></td><td><mark style="color:purple;">Control that lets users select a value by sliding a knob within a range on a track</mark></td><td><a href="/app-development/widgets/controls/slider.md">Slider</a></td></tr><tr><td><strong>TrainValSplits</strong></td><td><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/118521851/265455762-61b03206-afed-40c9-92e5-6feef71ed248.png" alt="" data-size="original"></td><td><mark style="color:purple;">Interface for specifying parameters to divide data into training and validation subsets for model training</mark></td><td><a href="/app-development/widgets/controls/trainvalsplits.md">TrainValSplits</a></td></tr><tr><td><strong>FileStorageUpload</strong></td><td><img src="https://user-images.githubusercontent.com/79905215/224288968-b3edf93e-2bd9-4a26-94f8-41165e0e3387.png" alt="" data-size="original"></td><td><mark style="color:purple;">Tool for uploading one or more files from the user's device, featuring progress indication and drag-and-drop support</mark></td><td><a href="/app-development/widgets/controls/filestorageupload.md">FileStorageUpload</a></td></tr><tr><td><strong>Timeline</strong></td><td><img src="https://1972929262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2ZRtnNbqSpWk5uCfyE1A%2Fuploads%2Fgit-blob-f4ffb1eeb54eb4b7fb8b6553a900d5c43b2746e4%2Fimage.png?alt=media" alt="" data-size="original"></td><td><mark style="color:purple;">Interactive timeline for navigating video frames and segment highlights</mark></td><td><a href="/app-development/widgets/controls/timeline.md">Timeline</a></td></tr><tr><td><strong>Pagination</strong></td><td><img src="https://1972929262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2ZRtnNbqSpWk5uCfyE1A%2Fuploads%2Fgit-blob-4157cbb81afbced3d5b8f91579888975cacc1b3f%2Fimage.png?alt=media" alt="" data-size="original"></td><td><mark style="color:purple;">Page selector. If you have too much data to display in one page, use pagination.</mark></td><td><a href="/app-development/widgets/controls/pagination.md">Pagination</a></td></tr><tr><td><strong>Hotkeys</strong></td><td></td><td><mark style="color:purple;">Invisible widget that catches keyboard shortcuts anywhere on the page and notifies Python</mark></td><td><a href="/app-development/widgets/controls/hotkeys.md">Hotkeys</a></td></tr></tbody></table>
