You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过UnrealEnginePython获取Widget类中UEditableTextBox属性的值

获取UnrealEnginePython中UEditableTextBox的内容

要拿到Widget里UEditableTextBox的文本值,关键是得操作Widget的实例,而不是类本身。你当前的代码只是获取了类的属性定义,没法拿到实际运行时的内容。

正确做法

  • 先获取目标Widget的实例对象——可以是你创建的新实例,也可以是场景中已存在的Widget(比如从视口中获取)。
  • 通过实例访问UEditableTextBox属性,再调用Unreal API里的get_text()方法拿到文本。

示例代码:

import unreal_engine as ue

# 示例1:从视口中获取已存在的Widget实例(根据实际情况调整)
widget_instance = ue.get_editor_subsystem(ue.WidgetBlueprintLibrary).get_widget_from_viewport()

# 示例2:通过类名创建新的Widget实例(替换成你的Widget类名)
# widget_class = ue.find_class("YourWidgetClassName")
# widget_instance = ue.create_widget(widget_class)

# 访问你定义的UEditableTextBox属性(替换成你实际的属性名)
editable_text_box = widget_instance.EditableTextBox

# 获取文本内容,转为Python字符串
text_content = str(editable_text_box.get_text())

print(text_content)

对你现有代码的说明

  • ue.all_classes()[5494] 得到的是Widget的类对象,不是正在运行的实例,类本身没有实际的文本值。
  • .properties()[1] 只是列出类的属性列表,属于元数据,不是实例的属性值。

内容的提问来源于stack exchange,提问作者tempaccountforissue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:05:15