weixin_45840746 2023-09-07 10:05 采纳率: 35.6%
浏览 3

UE5:控件蓝图按钮无法控制另一个蓝图的gui

我想实现在一个User_name_BP控件蓝图上点击按钮 另一个WidgeBp控件蓝图上的滚动框显示内容,但是测试发现没有实现这个功能

img

img

img

点击后 在AddMessageBox中也显示了测试文本,但是滚动框上并没有显示出来效果
但是我在widgeBp的蓝图上直接点击按钮,滚动框上显示了效果

img

img


直接点击出现效果说明AddMessageBox函数没有错哈,但是第一种情况数据也传输进去了,但是为什么没有效果器呢
有佬在嘛,请问一下原因,感谢

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-09-07 16:30
    关注

    该回答引用ChatGPT-3.5,仅为您供参考,不保证完全正确
    问题可能出在事件的触发时机或事件的传递上。以下是一些可能导致这种情况的原因和解决方法:

    1. 事件触发时机: 确保在User_name_BP控件蓝图上的按钮点击时,已经正确触发了事件。你可以在点击按钮时添加一个打印语句或日志来确认按钮点击事件是否被正确触发。

    2. 事件传递: 确保消息或数据已经正确传递到WidgeBp控件蓝图中。你可以使用打印语句或日志来检查数据是否在WidgeBp控件蓝图中正确接收。

    3. 事件处理: 在WidgeBp控件蓝图中,确保滚动框的内容更新逻辑正确。你可以在点击按钮后,手动调用滚动框的更新函数或确保数据正确绑定到滚动框。

    4. 刷新UI: 如果滚动框内容已经更新,但UI没有及时刷新,可以尝试调用刷新UI的函数或方法,以确保内容正确显示在屏幕上。

    5. 引用问题: 确保你在User_name_BP控件蓝图中正确引用了WidgeBp控件蓝图,并且你正在与正确的实例互动。有时候,引用问题可能会导致你修改了一个不可见或不正确的实例。

    6. 事件绑定: 确保按钮的点击事件已正确绑定到WidgeBp控件蓝图上的函数。可能需要检查事件绑定是否正确,并且确保事件绑定没有被其他因素影响。

    如果你已经检查了上述问题,并且问题仍然存在,可以提供更多关于你的蓝图和事件触发逻辑的详细信息,以便我提供更具体的建议。另外,也可以考虑使用调试工具来进一步分析问题,以找到导致滚动框不显示内容的具体原因。


    该回答引用NewBing,仅为您供参考,不保证完全正确
    根据1的文档,你可以使用蓝图通信的方法来让一个控件蓝图和另一个控件蓝图相互交互。你可以使用直接蓝图通信或者蓝图转换来实现这个功能。


    直接蓝图通信是指在一个控件蓝图中创建一个变量,指定为要访问的另一个控件蓝图的类型,并将其设置为可编辑。然后,在关卡编辑器中,你可以为这个变量选择要引用的控件蓝图的实例。这样,你就可以从一个控件蓝图中访问另一个控件蓝图的事件、变量和函数等。


    蓝图转换是指在一个控件蓝图中,使用Cast To节点来转换到另一个控件蓝图的类型,并从其返回值引脚拖出引线来访问其内部的内容。这种方法适用于当你无法提前知道要访问的控件蓝图的实例时,比如它是动态生成的。


    你可以参考1中的示例来尝试使用这两种方法来解决你的问题。希望这些信息对你有帮助。😊


    源: 与必应的对话, 2023/9/7
    (1) 如何在虚幻引擎中使用蓝图通信 | 虚幻引擎5.0文档. https://docs.unrealengine.com/5.0/zh-CN/how-to-use-blueprint-communications-in-unreal-engine/.
    (2) 虚幻引擎UMG中的控件蓝图 | 虚幻引擎5.0文档 - Unreal Engine. https://docs.unrealengine.com/5.0/zh-CN/widget-blueprints-in-umg-for-unreal-engine/.
    (3) 蓝图基本用户指南 | 虚幻引擎5.0文档 - Unreal Engine. https://docs.unrealengine.com/5.0/zh-CN/blueprint-basic-user-guide-in-unreal-engine/.


    该回答引用文心一言,仅为您供参考,不保证完全正确
    根据您提供的信息,问题可能出在控件蓝图之间的连接上。要实现一个按钮在另一个蓝图上控制滚动框,您需要正确设置连接和事件处理程序。


    请按照以下步骤检查您的连接设置:

    1. 在您的User_name_BP蓝图中,找到按钮的点击事件(或任何其他适当的事件),并创建一个新的事件。例如,您可以创建一个名为"ButtonClicked"的事件。
    2. 在WidgeBp蓝图中,找到滚动框的显示内容更新事件(可能是类似于"OnScroll"的事件)。
    3. 在WidgeBp蓝图中,找到按钮的点击事件(或任何其他适当的事件),并创建一个新的事件。例如,您可以创建一个名为"ButtonClickedInWidget"的事件。
    4. 在User_name_BP蓝图中,找到与"ButtonClicked"事件关联的函数。在该函数中,添加调用WidgeBp蓝图中的"ButtonClickedInWidget"事件的代码。例如,您可以使用以下代码:
    void User_name_BP::ButtonClicked()
    {
        // 其他代码
        WidgeBp->ButtonClickedInWidget();
    }
    
    1. 在WidgeBp蓝图中,找到与"ButtonClickedInWidget"事件关联的函数。在该函数中,添加更新滚动框显示内容的代码。例如,您可以使用以下代码:
    void WidgeBp::ButtonClickedInWidget()
    {
        // 其他代码
        // 更新滚动框显示内容
        MyScrollBox->SetContent(YourContent);
    }
    

    确保按照上述步骤正确设置连接和事件处理程序。这样,当您在User_name_BP控件蓝图上点击按钮时,WidgeBp控件蓝图上的滚动框应该会显示相应的内容。


    如果问题仍然存在,请检查是否有其他因素影响滚动框的显示。例如,确保滚动框的可见性和可滚动性已正确设置,并且滚动框的内容已正确设置。


    该回答引用讯飞星火,仅为您供参考,不保证完全正确
    这个问题可能是由于在User_name_BP控件蓝图中,按钮的事件与WidgeBp控件蓝图中的滚动框事件没有正确关联导致的。请检查以下几点:

    1. 确保User_name_BP控件蓝图中的按钮已经正确连接到WidgeBp控件蓝图中的滚动框的相应事件。例如,如果滚动框有一个名为ScrollBar的事件,那么在User_name_BP控件蓝图中,按钮的OnPressed()函数应该调用WidgeBp->ScrollBar()

    2. 检查User_name_BP控件蓝图中的按钮是否具有正确的实例名称。在连接按钮事件时,需要使用实例名称来引用WidgeBp控件蓝图。例如,如果WidgeBp的实例名称为WidgeBpInstance,则在User_name_BP控件蓝图中,按钮的OnPressed()函数应该调用WidgeBpInstance->ScrollBar()

    3. 确保User_name_BP控件蓝图和WidgeBp控件蓝图都已启用并加载到场景中。

    4. 如果仍然无法解决问题,请尝试在User_name_BP控件蓝图的按钮事件中添加一些调试信息,以便更好地了解问题所在。例如,可以在OnPressed()函数中输出一些文本,以确认事件确实已触发。

    如果以上方法都无法解决问题,请提供更多关于这两个蓝图的详细信息,以便更好地了解问题所在。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月7日

悬赏问题

  • ¥15 如何改进这个简易的模数转换程序
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法