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.

ImGuiKit

ImGuiKit brings small, standalone additions to Dear ImGui: rows that fill, groups that align, a few widgets.

It is a library of its own (MIT): one header, a few sources, and Dear ImGui as its only dependency. Dear ImGui Bundle includes it, with Python bindings.

Its three parts

Quick example

A slider that fills the line, with two arrows and a help marker on its right:

Python
C++
from imgui_bundle import imgui, imgui_kit

slice_ = 37  # in your app's state
with imgui_kit.fill_row("slice") as row:
    _, slice_ = imgui.slider_int("##slice", slice_, 0, 59)  # fills the line
    row.tail()  # the items after this call stay on the right
    imgui.arrow_button("##prev", imgui.Dir.left)
    imgui.same_line()
    imgui.arrow_button("##next", imgui.Dir.right)
    imgui.same_line()
    imgui_kit.help_marker("Drag the slider, or click the arrows.")

In Python, each begin_x() / end_x() pair is also a context manager, named x: fill_row, aligned_group, column, label_column, flow. The help marker’s is help_marker_ctx, since help_marker(text) is already a plain function.

Learn more