ImGui(Dear ImGui)是一个用于在C++应用程序中创建图形用户界面(GUI)的轻量级库。它设计用于快速、简便地在应用程序中嵌入调试和工具界面。以下是一些常用的ImGui函数及其简要介绍:
ImGui::Begin()
/ ImGui::End()
:
作用: 定义一个可嵌套的区域,开始和结束ImGui的绘图。
示例:
ImGui::Begin("My Window");
// GUI 元素
ImGui::End();
ImGui::Text()
:
作用: 在GUI中显示文本。
示例:
ImGui::Text("Hello, World!");
ImGui::Button()
:
作用: 创建一个按钮。
示例:
if (ImGui::Button("Click Me")) {
// 按钮被点击时执行的代码
}
ImGui::InputText()
:
作用: 创建一个可输入文本的文本框。
示例:
char buffer[256];
ImGui::InputText("Enter Text", buffer, sizeof(buffer));
ImGui::SliderFloat()
:
作用: 创建一个浮点数滑块。
示例:
float value = 0.5f;
ImGui::SliderFloat("Slider", &value, 0.0f, 1.0f);
ImGui::Checkbox()
:
作用: 创建一个复选框。
示例:
bool checked = false;
ImGui::Checkbox("Enable Feature", &checked);
ImGui::ColorEdit3()
/ ImGui::ColorEdit4()
:
作用: 创建一个颜色选择器。
示例:
ImVec4 color = ImVec4(1.0f, 0.0f, 0.0f, 1.0f);
ImGui::ColorEdit4("Color", (float*)&color);
ImGui::Image()
:
作用: 在GUI中显示图像。
示例:
ImTextureID textureID = ...; // 图像的纹理ID
ImVec2 imageSize(100, 100);
ImGui::Image(textureID, imageSize);
ImGui::BeginChild()
/ ImGui::EndChild()
:
作用: 创建一个子区域,允许在其中放置其他GUI元素。
示例:
ImGui::BeginChild("Child Window");
// 子窗口内的 GUI 元素
ImGui::EndChild();
ImGui::SameLine()
:
作用: 将下一个元素放在同一行上。
示例:
ImGui::Text("Left");
ImGui::SameLine();
ImGui::Text("Right");
ImGui::BeginMenuBar()
/ ImGui::EndMenuBar()
:
作用: 创建和结束菜单栏。
示例:
if (ImGui::BeginMenuBar()) {
if (ImGui::BeginMenu("File")) {
// 菜单项
ImGui::EndMenu();
}
ImGui::EndMenuBar();
}
这是一小部分ImGui函数的介绍。在使用ImGui时,可以根据具体的需求查阅官方文档以了解更多函数和用法。ImGui提供了丰富的功能,可以方便地构建各种类型的用户界面。