Dear ImGui Bundle
From expressive code to powerful GUIs in no time: a fast, feature-rich, cross-platform toolkit for C++ & Python.
Key Features
- A lot of widgets and libraries: All of Dear ImGui along with a suite of additional libraries for plotting, node editing, markdown rendering, and much more.
- Always up-to-date: The libraries are always very close to the latest version of Dear ImGui. This is also true for Python developers, since the bindings are automatically generated.
- Interactive Demos and Documentation: Quickly get started with our interactive manual and demos that showcase the capabilities of the pack. Read or copy-paste the source code (Python and C++) directly from the interactive manual!
- Cross-platform: Works on Windows, Linux, macOS, iOS, Android, and WebAssembly!
- Easy to use, yet very powerful: Start your first app in 3 lines. The Immediate Mode GUI (IMGUI) paradigm is simple and powerful, letting you focus on the creative aspects of your projects.
- Fast: Rendering is done via OpenGL (or any other renderer you choose), through native code.
- Beautifully documented Python bindings and stubs: The Python bindings stubs reflect the C++ API and documentation, serving as a reference and aiding autocompletion in your IDE. See for example the stubs for imgui, and for hello_imgui (which complete the hello_imgui manual).
For a detailed look at each feature and more information, explore the sections listed in the Table of Contents.
What’s in the pack?
Dear ImGui 번들에는 C++ 및 Python으로 사용 가능한 다음 라이브러리가 포함되어 있습니다 .
| | Dear ImGui |
| Bloat-free Graphical User interface with minimal dependencies | |
| | ImGui Test Engine |
| Dear ImGui Tests & Automation Engine | |
| Demo_docking.jpg | Hello ImGui |
| cross-platform Gui apps with the simplicity of a "Hello World" app | |
| | ImPlot |
| Immediate Mode Plotting | |
| | ImPlot3D |
| Immediate Mode 3D Plotting | |
| | ImGuizmo |
| Immediate mode 3D gizmo for scene editing and other controls based on Dear ImGui | |
| | ImGuiColorTextEdit |
| Colorizing text editor for ImGui | |
| | imgui-node-editor |
| Node Editor built using Dear ImGui | |
| | imgui_md |
| Markdown renderer for Dear ImGui using MD4C parser | |
| Demo_immvision_process_1.jpg | ImmVision |
| Immediate image debugger and insights | |
| | |
| Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations | |
| | imgui_tex_inspect |
| A texture inspector tool for Dear ImGui | |
| | ImFileDialog |
| A file dialog library for Dear ImGui | |
| | portable-file-dialogs |
| OS native file dialogs library (cpp11, single-header) | |
| | imgui-knobs |
| Knobs widgets for ImGui | |
| | imspinner |
| Set of nice spinners for imgui | |
| | imgui_toggle |
| A toggle switch widget for Dear ImGui | |
| | ImCoolBar |
| A Cool bar for Dear ImGui | |
| | imgui-command-palette |
| A Sublime Text or VSCode style command palette in ImGui | |
Install for Python
- imgui-bundle: 바이너리 휠은 Windows, MacOS 및 Linux에서 사용할 수 있습니다. 소스에서 컴파일이 필요한 경우 빌드 프로세스는 최대 5분이 걸릴 수 있으며 인터넷 연결이 필요합니다.
- opencv-python: immvision 모듈을 실행하려면 opencv-python을 설치하세요. opencv-python-headless(헤드리스) opencv-contrib-python(추가 모듈 포함)과 같은 대체 OpenCV 버전도 작동합니다.
- pyGLM: 데모를 실행하려면 pyGLM을 설치하세요.
Horizontal Example
avail_size = imgui.get_content_region_avail()
imgui.begin_horizontal("Horizontal", size=(avail_size.x, 0))
try:
imgui.spring()
if imgui.button("Open", size=(0, avail_size.y)):
self.context.open_flow_workspace(recent.value)
finally:
imgui.end_horizontal()