getChildByName(widget, name)
什么用法
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-12 18:22:51 |
👁️ 阅读: 7
`GUI:getChildByName(widget, name)` 是996前端框架中一个非常常用的函数,用于通过名称查找指定父节点下的子控件。
**函数说明:**
```lua
-- 函数签名:通过名称获取子节点
-- @param widget userdata 父节点对象
-- @param name string 子节点名称(创建时设置的唯一ID)
-- @return userdata 返回找到的子节点对象,如果找不到则返回nil
local childNode = GUI:getChildByName(parentNode, "子节点名称")
```
**实际应用案例:**
```lua
-- 1. 创建父节点(界面窗口)
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 2. 创建子节点(文字控件)
local textNode = GUI:Text_Create(parent, "Text_name", 100, 200, 16, "#ffffff", "浮生梦")
-- 3. 通过名称获取子节点
local foundText = GUI:getChildByName(parent, "Text_name")
-- 4. 使用获取到的节点
if not GUI:Win_IsNull(foundText) then
GUI:Text_setText(foundText, "新的文本内容")
GUI:Text_setTextColor(foundText, "#ff0000")
-- 获取位置
local pos = GUI:getPosition(foundText)
SL:Print("文本位置 x:", pos.x, " y:", pos.y)
else
SL:Print("未找到Text_name节点")
end
```
**注意事项:**
1. 必须先创建父节点,才能创建子节点
2. 子节点名称(ID)必须是唯一的
3. 获取节点后建议用`GUI:Win_IsNull()`检查是否有效
4. 这个函数在动态UI更新时特别有用,比如刷新界面数据
这个函数是前端界面开发的基础操作,熟练掌握后可以灵活控制界面中的各个组件。
← 返回问答库