Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

ImSpinner

ImSpinner: loading spinners, dozens of them, to show that some work is going on.

Each spinner_* function draws one kind of spinner, at each frame.

Upstream repository · The book’s page

Modules

In imgui_bundle (from imgui_bundle import imspinner):

Demos using it

The demos of the catalog that use it (the pictures link to their code and to the playground).

Health and wealth of nations, 1800 to 2100

Health and wealth of nations, 1800 to 2100

Each bubble is a country: income per person across, life expectancy up, population as the size, world region as the color.

More

Press Play and two centuries go by. Click a bubble to pin it and draw its path through time; pick other indicators for the axes.

Uses: ImPlot, spinners

Python: ▶︎ Run · Code

Power save when idle

Power save when idle

When nothing happens, Hello ImGui lowers the frame rate to spare the CPU: after 3 seconds, the live plot and the spinner become choppy.

More

Content that changes on its own says so with hello_imgui.set_item_is_live(), and keeps the full speed while it is visible. The idling settings are global.

Uses: ImPlot, toggles, spinners

Python: ▶︎ Run · Code
C++: ▶︎ Run · Code

Knobs, toggles, spinners and more

Knobs, toggles, spinners and more

Knobs, toggle switches, spinners, a command palette, a dock-like cool bar: widgets beyond Dear ImGui’s own.

More

They come from the libraries in the bundle: imgui-knobs, imgui_toggle, imspinner, imgui-command-palette and ImCoolBar. Also file dialogs: the native ones (portable-file-dialogs), and ImFileDialog, drawn with ImGui.

Uses: knobs, toggles, spinners, cool bar, command palette, file dialogs

Python: ▶︎ Run · Code
C++: ▶︎ Run · Code