我有一个 Qt C++ 应用程序,它使用基于 QAbstractItemModel 的几种不同模型(最终)。
这些模型中的一些项目使用自定义委托来正确渲染它们,这些都很好用。
但是,我不确定如何最好地指定应该使用哪些 Delegate 类来呈现数据。
目前,我在每个包含视图的表单中调用 QAbstractItemView::setItemDelegateForColumn() 。
这感觉很笨拙,因为它依赖于表单类知道每个模型中的每一列应该使用哪个委托 - 如果将来发生变化,我必须更新每个表单。
此外,在某些情况下,视图在需要不同委托的两个不同模型之间切换,因此对于这些,表单类也必须处理该切换。
有一个更好的方法吗?