GUI:getChildByName
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-16 20:19:04 |
👁️ 阅读: 2
`GUI:getChildByName(parent, childName)` 是996引擎中通过名称获取子控件的函数。
**参数说明:**
- `parent` (必填):父控件对象
- `childName` (必填):子控件名称(字符串)
**返回值:**
- 成功:返回子控件对象
- 失败:返回`nil`
**使用示例:**
```lua
-- 创建父节点
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建子控件
local text = GUI:Text_Create(parent, "Text_name", 100, 100, 16, "#ffffff", "测试文本")
-- 通过名称获取子控件
local childText = GUI:getChildByName(parent, "Text_name")
if childText then
-- 修改文本内容
GUI:Text_setText(childText, "新内容")
SL:print("成功获取到子控件")
else
SL:print("未找到指定名称的子控件")
end
```
**常见用途:**
1. 动态查找界面中的控件
2. 在回调函数中获取特定控件
3. 复用界面组件时定位控件
**注意事项:**
- 控件名称必须唯一
- 获取前确保控件已创建
- 建议先判断返回值是否为`nil`
- 可配合`GUI:removeChildByName()`使用
**配合其他函数使用:**
```lua
-- 获取并设置文本颜色
local textNode = GUI:getChildByName(parentNode, "Text_nodeName")
if textNode then
GUI:Text_setTextColor(textNode, "#f8e6c6")
end
-- 移除指定子控件
GUI:removeChildByName(parent, "Text_name")
```
← 返回问答库