C++ 如何将QAbstractListModel中项的信号绑定到ListView委托中的处理程序
我有一个C++ 如何将QAbstractListModel中项的信号绑定到ListView委托中的处理程序,c++,qt,qml,qabstractlistmodel,C++,Qt,Qml,Qabstractlistmodel,我有一个QAbstractListModel子类,其中包含我的任意类型MyItem的实例列表。我还有一个ListView,模型绑定到该QAbstractListModel子体 我要做的就是将ListView委托中的处理程序绑定到我的任意类型的信号MyItem。有什么办法吗 UPD.我不想将委托绑定到模型的信号,因此当我有许多项时,所有这些项都将被触发。我只想用一个信号通知一个代理。从模型发出一个信号,并将MyItem(或其索引)作为参数。模型可以在创建单个项目时连接到这些项目的信号;或者该项可以
QAbstractListModel
子类,其中包含我的任意类型MyItem
的实例列表。我还有一个ListView
,模型绑定到该QAbstractListModel
子体
我要做的就是将ListView
委托中的处理程序绑定到我的任意类型的信号MyItem
。有什么办法吗
UPD.我不想将委托绑定到模型的信号,因此当我有许多项时,所有这些项都将被触发。我只想用一个信号通知一个代理。从模型发出一个信号,并将
MyItem
(或其索引)作为参数。模型可以在创建单个项目时连接到这些项目的信号;或者该项可以简单地调用模型上的方法。视图可以在设置模型时连接来自模型的信号。我试图忽略这样一种情况,即每个代理都应该连接到整个模型的信号,然后在处理程序中检查当前信号是否属于它。如果我有很多代表,我只想通知一个,而不是全部。你说“属于它”是什么意思?每个项目通常没有单独的委托。如果您确实这样做了,那么就直接连接到该项的信号,就像您连接任何其他对象一样。您希望我使用索引绑定到模型的信号,并在委托中检查信号的索引和委托的索引是否匹配,然后为该委托执行代码。这就是我所说的“信号属于代理”的意思,但是,不管出于什么原因,如果最终每个项目都有一个代理,那么每个代理不能简单地从模型中检索相应的项目,并直接连接到它吗?