C++ 如何将相关数据从一个模型提取到另一个模型
我正在开发一个应用程序,其中Qt/c++作为控制器,QML组件作为视图。应用程序将以以下方式显示彼此相关的设备和频道: +--------------------+ | DEVICES | |--------------------| | MAC |<-----------------------------------------------+ | ... | | | ID_CURRENT_CHANNEL |+--+ | | ... | | +----------------------+ | +--------------------+ | | AUDIO CHANNELS | | | |----------------------| | +---------->| ID | | | ... | | | MAC_SOURCE_DEVICE |+--------+ | ... | +----------------------+ +--------------------+ |装置| |--------------------| |MAC | | ID || | ... | | |MAC_源设备|+--------+ | ... | +----------------------+ 所以一个设备可能正在播放一个音频频道,而一个频道有一个源设备 我知道如何将数据从一个“域”公开到另一个“域”,所以我为通道和设备创建了模型,并设法将它们公开到QML视图。但当我想从一个模型到另一个模型获取相关数据并使用QML组件显示数据时,我的困境(和问题)就出现了。我找到三种方法:C++ 如何将相关数据从一个模型提取到另一个模型,c++,qt,qml,C++,Qt,Qml,我正在开发一个应用程序,其中Qt/c++作为控制器,QML组件作为视图。应用程序将以以下方式显示彼此相关的设备和频道: +--------------------+ | DEVICES | |--------------------| | MAC |<-----------------------------------------------+ | ... |
- 创建一个新的混合设备和通道模型,其中包含所有数据的角色,如通道id、名称、质量和。。。源设备名称、mac等。我不喜欢此解决方案
- 将信号(macSelectedChanged)创建到视图中,并从控制器加载上下文属性和数据(deviceSelected),作为对发出信号的响应
- 使用javascript在视图中查找相关数据。我有一个小主意如何做到这一点,我认为这是最一致的方式,但性能会降低
提前感谢。如果您需要一个视图,那么您应该有一个模型,其中包含来自两个源的数据,因此第一个解决方案是适当的(我知道,有点令人难以接受)。如果您需要同步两个视图,那么第二个解决方案就可以了。@Bodgan感谢您的评论。我将采取两种方式:当我想要显示两者并使用一个选择的改变信号彼此关联时,构建简单的模型;当我只想展示其中一个模型的全部信息时,可以构建复杂的模型。如果你想要一些回购协议,请将你的评论作为答案发布。