ImGui::SameLine();
时间: 2024-02-06 13:04:12 浏览: 214
ImGui::SameLine() 是 Dear ImGui 库中的一个函数,用于在同一行上绘制两个或多个控件。
在 ImGui 中,每个控件默认都会在新的一行上绘制。如果你想在同一行上绘制多个控件,可以使用 ImGui::SameLine() 函数。
例如,下面的代码将在同一行上绘制两个按钮:
```
ImGui::Button("Button 1");
ImGui::SameLine();
ImGui::Button("Button 2");
```
这里,第一个按钮绘制完成后,ImGui::SameLine() 函数将光标移回到同一行的起始位置,以便绘制第二个按钮。
你还可以使用 ImGui::SameLine() 函数的参数,指定新控件的位置。例如,下面的代码将在同一行上绘制一个标签和一个输入框:
```
ImGui::Text("Name:");
ImGui::SameLine();
ImGui::InputText("##name", nameBuffer, 256);
```
在这里,ImGui::SameLine() 函数的参数为空,表示将光标移回到同一行的起始位置。如果你想将光标移动到同一行的其他位置,可以传递一个浮点数参数,表示相对于行起始位置的偏移量。例如,下面的代码将在同一行上绘制一个标签和一个右对齐的输入框:
```
ImGui::Text("Name:");
ImGui::SameLine(ImGui::GetWindowWidth() - 100);
ImGui::InputText("##name", nameBuffer, 256);
```
在这里,ImGui::GetWindowWidth() 函数返回窗口的宽度,-100 表示输入框相对于行起始位置向左偏移 100 个像素。
阅读全文