local parent = GUI:Attach_RightBottom()
local ui = GUI:ui_delegate(parent)
if ui then
for name, widget in pairs(ui) do
SL:print("组件名: " .. name)
end
end 获得了组件名:nativeUI
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-09 10:35:49 |
👁️ 阅读: 0
通过 `GUI:ui_delegate(parent)` 获取的 `ui` 表,其键(key)就是GUILayout编辑器中每个控件的“导出名”。
你已经获得了 `ui.nativeUI` 这个组件,要查看它内部有什么,可以这样操作:
1. **获取 `ui.nativeUI` 的子节点**:
```lua
local child = GUI:getChildByName(ui.nativeUI, "子节点名字")
if child then
SL:print("找到了子节点")
end
```
2. **遍历 `ui.nativeUI` 的所有子节点**(如果它是一个容器,如 Panel、Node 等):
```lua
local children = GUI:getChildren(ui.nativeUI)
for i, child in ipairs(children) do
local childName = GUI:getName(child)
SL:print("子节点名: " .. childName)
end
```
**注意**:
- `ui.nativeUI` 本身是一个控件对象,你可以用 `GUI:getChildByName` 按名字查找其子项。
- 如果 `ui.nativeUI` 是一个容器(比如 `Panel` 或 `Node`),可以用 `GUI:getChildren` 获取所有子节点列表。
- 子节点的名字是在GUILayout编辑器中设置的,不是“导出名”,而是控件自身的名称。
通过 `GUI:ui_delegate(parent)` 获取的 `ui` 表,其键(key)就是GUILayout编辑器中每个控件的“导出名”。
你已经获得了 `ui.nativeUI` 这个组件,要查看它内部有什么,可以这样操作:
1. **获取 `ui.nativeUI` 的子节点**:
```lua
local child = GUI:getChildByName(ui.nativeUI, "子节点名字")
if child then
SL:print("找到了子节点")
end
```
2. **遍历 `ui.nativeUI` 的所有子节点**(如果它是一个容器,如 Panel、Node 等):
```lua
local children = GUI:getChildren(ui.nativeUI)
for i, child in ipairs(children) do
local childName = GUI:getName(child)
SL:print("子节点名: " .. childName)
end
```
**注意**:
- `ui.nativeUI` 本身是一个控件对象,你可以用 `GUI:getChildByName` 按名字查找其子项。
- 如果 `ui.nativeUI` 是一个容器(比如 `Panel` 或 `Node`),可以用 `GUI:getChildren` 获取所有子节点列表。
- 子节点的名字是在GUILayout编辑器中设置的,不是“导出名”,而是控件自身的名称。
← 返回问答库