Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将QAbstractListModel中项的信号绑定到ListView委托中的处理程序_C++_Qt_Qml_Qabstractlistmodel - Fatal编程技术网

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
(或其索引)作为参数。模型可以在创建单个项目时连接到这些项目的信号;或者该项可以简单地调用模型上的方法。视图可以在设置模型时连接来自模型的信号。我试图忽略这样一种情况,即每个代理都应该连接到整个模型的信号,然后在处理程序中检查当前信号是否属于它。如果我有很多代表,我只想通知一个,而不是全部。你说“属于它”是什么意思?每个项目通常没有单独的委托。如果您确实这样做了,那么就直接连接到该项的信号,就像您连接任何其他对象一样。您希望我使用索引绑定到模型的信号,并在委托中检查信号的索引和委托的索引是否匹配,然后为该委托执行代码。这就是我所说的“信号属于代理”的意思,但是,不管出于什么原因,如果最终每个项目都有一个代理,那么每个代理不能简单地从模型中检索相应的项目,并直接连接到它吗?