远程对象交互
源对象和副本之间的交互是单向的。属性变更和信号发射发生在源对象上,并传播到所有副本。如果一个属性可写,你可以在一个副本上调用设置函数,该函数随后被转发到源对象。之后,如果这个调用导致新的属性值,这个值会首先在源对象上变更,然后随后转发到所有副本。对于副本,它将是一个异步调用,更改生效之前会有延迟。
虽然技术上你可以在副本上发射信号,但这样做是不推荐的,因为它可能会产生意外的结果。它只会触发行连接到副本自身的槽,而不会触发行连接到源对象或其他副本的槽。像属性设置器一样,副本上的槽调用会被转发到源对象以执行。
Qt 远程对象自动实现了上述行为。不需要编写任何副本实现代码。对于动态副本,这将在运行时自动处理。对于由 repc 生成的头文件,这将在编译时处理。
© 2024 The Qt Company Ltd. 以下所提供的文档贡献为各自所有者的版权。提供的文档根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 及其相应标志是 The Qt Company Ltd. 在芬兰以及/或世界其他国家的商标。所有其他商标均为其各自所有者的财产。