我有一个日历类,我想用它来更新具有新日期和时间的小部件。
到目前为止,我已经尝试了对Google所做的一切。我已经找到了许多示例,这些示例说明了如何使用事件分派从小部件到bluprint进行通信,但是我找不到如何反向进行通信。
我希望基本上具有这种逻辑流程
在第三人称控制器上动态创建一个小部件以显示日历信息(WORKS)
会在刻度上更新,并计算日期等(WORKS)->
在先前创建的小部件上显示新数据
第3步是我坚持的部分。
非常感谢您的帮助!
答案 0 :(得分:0)
据我所知,您可以通过按按钮来创建窗口小部件,但不能更新数据。如果是,那么可以轻松解决。
想法:
1-将日历类用作3D世界中任何角色的演员。在您的小部件事件构造中获取Calendar类(考虑到此小部件不会绘制一次)并更新数据。
2-如果该窗口小部件绘制一次,则事件构造将不会运行多次,除非对层次进行更改,这样想法1才会起作用。为此,让我们在日历类中创建一个调度程序,并将其绑定到一个将更新小部件类中的数据的函数。在需要时致电调度员。
请附上一些代码的图片,以便您在反向交流时遇到问题。但是我认为您在获取参考文献时遇到问题。当动态创建窗口小部件时,将其设置为变量并将其存储在日历类可以访问的蓝图中。这使我们想到了想法3:可以访问日历类中的窗口小部件变量,您现在甚至不需要任何调度程序。直接在小部件上调用函数以更新数据。
GUI编程不应掉以轻心,并且在编码之前必须考虑一个好的体系结构。作为一种实践,尝试创建一个类,所有小部件都可以从中访问数据。希望对您有所帮助。