这两个类都为模型中的数据项提供显示和编辑工具。QStyledItemDelegate
是较新的,并且 Qt 文档关于QItemDelegate
状态:
请注意,QStyledItemDelegate 已经接管了绘制 Qt 项目视图的工作。我们建议在创建新委托时使用 QStyledItemDelegate。
我很困惑两者之间有什么区别,为什么QStyledItemDelegate
首选QItemDelegate
!
这两个类都为模型中的数据项提供显示和编辑工具。QStyledItemDelegate
是较新的,并且 Qt 文档关于QItemDelegate
状态:
请注意,QStyledItemDelegate 已经接管了绘制 Qt 项目视图的工作。我们建议在创建新委托时使用 QStyledItemDelegate。
我很困惑两者之间有什么区别,为什么QStyledItemDelegate
首选QItemDelegate
!
如QStyledItemDelegate
文档中所述,不同之处在于QStyledItemDelegate
使用当前样式来绘制其项目。
这两个类是绘画和为视图中的项目提供编辑器的独立替代方案。它们之间的区别在于
QStyledItemDelegate
使用当前样式来绘制其项目。因此,我们建议QStyledItemDelegate
在实现自定义委托或使用 Qt 样式表时将其用作基类。除非自定义委托需要使用样式进行绘制,否则任何一个类所需的代码都应该相同。
请注意,此答案基于 Iuliu 和 Alex 的评论