假设我创建了一个包含以下内容的表:
ImGui::Columns(3);
ImGui::Text("Header 1");
ImGui::NextColumn();
ImGui::Text("Header 2");
ImGui::NextColumn();
ImGui::Text("Header 3");
ImGui::NextColumn();
ImGui::Text("1");
ImGui::NextColumn();
ImGui::Text("2");
ImGui::NextColumn();
ImGui::Text("3");
ImGui::NextColumn();
ImGui::Columns(1);
Run Code Online (Sandbox Code Playgroud)
如何使第二行(1、2 和 3)中的文本在列中右对齐?我见过CalcItemWidth
和CalcTextSize
,但我无法弄清楚它们在多列行中是如何工作的。
我在 ImGui Discord 频道获得帮助并提出了以下解决方案:
ImGui::NextColumn();
std::string text = "1";
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + ImGui::GetColumnWidth() - ImGui::CalcTextSize(text.c_str()).x
- ImGui::GetScrollX() - 2 * ImGui::GetStyle().ItemSpacing.x);
ImGui::Text("%s", text);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5256 次 |
最近记录: |