C++ QItemDelegate和QStyledItemDelegate之间有什么区别?
这两个类都为模型中的数据项提供了显示和编辑功能C++ QItemDelegate和QStyledItemDelegate之间有什么区别?,c++,qt,qitemdelegate,qstyleditemdelegate,C++,Qt,Qitemdelegate,Qstyleditemdelegate,这两个类都为模型中的数据项提供了显示和编辑功能QStyledItemDelegate较新,关于QItemDelegate的Qt文档说明: 请注意,QStyledItemDelegate已接管绘制Qt的工作 项目视图。我们建议在创建时使用QStyledItemDelegate 新代表 我不明白两者之间有什么区别,为什么QStyledItemDelegate比QItemDelegate更受欢迎 如中所述,区别在于QStyledItemDelegate使用当前样式绘制其项目 这两个类是绘画和绘画的独立
QStyledItemDelegate
较新,关于QItemDelegate
的Qt文档说明:
请注意,QStyledItemDelegate已接管绘制Qt的工作
项目视图。我们建议在创建时使用QStyledItemDelegate
新代表
我不明白两者之间有什么区别,为什么QStyledItemDelegate
比QItemDelegate
更受欢迎 如中所述,区别在于QStyledItemDelegate
使用当前样式绘制其项目
这两个类是绘画和绘画的独立替代品
为视图中的项目提供编辑器。它们之间的区别是
QStyledItemDelegate
使用当前样式绘制其项目。我们
因此,建议在以下情况下使用QStyledItemDelegate
作为基类
实现自定义委托或使用Qt样式表时。
除非自定义
代理需要使用绘图的样式
请注意,此答案基于Iuliu和Alex的评论只是为了再次检查,您是否检查了文档的
QStyledItemDelegate vs.QItemDelegate
部分?@luliu我遗漏了该部分。谢谢。从QItemDelegate文档中可以看出:“它们之间的区别在于QStyledItemDelegate使用当前样式绘制其项。因此,我们建议在实现自定义委托或使用Qt样式表时使用QStyledItemDelegate作为基类。”“”因此,如果您使用的是样式表,它不会对QItemDelegate
生成的小部件产生影响。这就是为什么Qt建议使用QStyledItemDelegate
。