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

时间:2014-11-04 21:41:11

标签: qt qlistview qstyleditemdelegate

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

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

1 个答案:

答案 0 :(得分:0)

Qt internally maintains自定义行委托的映射但不提供对它的访问。如果我需要使用

,我最终会自己维护一个列表并将其全部取消

void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate * delegate)

nullptr为代表;