Qt 如何从QListView取消设置所有自定义QStyledItemDelegates?

Qt 如何从QListView取消设置所有自定义QStyledItemDelegates?,qt,qlistview,qstyleditemdelegate,Qt,Qlistview,Qstyleditemdelegate,我在列表中设置了一些自定义代理。当我重置模型QListView::reset时;调用,但未重置委托。这是一个错误吗?如果不是,我如何重置所有代理 迭代所有行并将委托设置为nullptr将起作用,但不是一个合适的解决方案。Qt创建自定义行委托的映射,但不提供对它的访问。最后,我自己维护了一个列表,并在需要时将其全部取消设置 void QAbstractItemView::setItemDelegateForRowint行,QAbstractItemDelegate*委托 以一名空PTR为代表 你如

我在列表中设置了一些自定义代理。当我重置模型QListView::reset时;调用,但未重置委托。这是一个错误吗?如果不是,我如何重置所有代理

迭代所有行并将委托设置为nullptr将起作用,但不是一个合适的解决方案。

Qt创建自定义行委托的映射,但不提供对它的访问。最后,我自己维护了一个列表,并在需要时将其全部取消设置

void QAbstractItemView::setItemDelegateForRowint行,QAbstractItemDelegate*委托


以一名空PTR为代表

你如何设置一个代理?我们能看一些代码吗?QListView::reset-未重置模型。代理与您的模型完全不相关。您可能误解了Qt MVC.setItemDelegateForRowi,您选择了Delegate;是否所有行都需要不同的代理?解决方案:连接到modelAboutToBeReset插槽,并在该插槽中执行代理清理。