ImGui 提供了几种方法来对齐标签框:

  1. 使用 Imgui 的布局函数:ImGui::BeginGroup()ImGui::EndGroup()。这些函数可以将一组控件包裹在一个矩形中,并在该矩形中对其所有控件。例如:
ImGui::BeginGroup();
ImGui::Text("Label 1");
ImGui::SameLine();
ImGui::Text("Label 2");
ImGui::EndGroup();

这将在一个矩形中对齐“Label 1”和“Label 2”。使用 ImGui::SameLine() 函数可以将控件移到同一行上。

  1. 使用 ImGui::Columns() 函数。此函数可以将控件分成多列,并在每列中对齐。例如:
ImGui::Columns(2);
ImGui::Text("Label 1");
ImGui::NextColumn();
ImGui::Text("Label 2");
ImGui::Columns(1);

这将在两列中对齐“Label 1”和“Label 2”。

  1. 使用 ImGui::SetCursorPosX()ImGui::SetCursorPosY() 函数。这些函数可以将光标移动到指定位置,从而控制控件的位置。例如:
float label1_width = ImGui::CalcTextSize("Label 1").x;
float label2_width = ImGui::CalcTextSize("Label 2").x;

float max_width = std::max(label1_width, label2_width);
float x_pos = ImGui::GetCursorPosX();

ImGui::Text("Label 1");
ImGui::SetCursorPosX(x_pos + max_width - label1_width);
ImGui::Text("Label 2");

这将在同一行上对齐“Label 1”和“Label 2”,并在较宽的标签后面添加填充空间。

Imgui 标签框对齐

原文地址: https://www.cveoy.top/t/topic/bAiy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录