【发布时间】:2015-03-05 06:06:53
【问题描述】:
这两个类都为模型中的数据项提供显示和编辑功能。 QStyledItemDelegate 较新,关于 QItemDelegate 的 Qt 文档指出:
请注意,QStyledItemDelegate 已经接管了绘制 Qt 的工作 项目视图。我们建议在创建时使用 QStyledItemDelegate 新的代表。
我很困惑两者之间有什么区别以及为什么QStyledItemDelegate 比QItemDelegate 更受欢迎!
【问题讨论】:
-
仔细检查一下,您是否检查了doc.qt.io/qt-5/qstyleditemdelegate.html 文档的
QStyledItemDelegate vs. QItemDelegate部分? -
@luliu 我错过了那部分。谢谢。
-
来自 QItemDelegate 文档:""" 它们之间的区别在于 QStyledItemDelegate 使用当前样式来绘制其项目。因此,我们建议在实现自定义委托或使用 Qt 时使用 QStyledItemDelegate 作为基类样式表。""" 因此,如果您使用样式表,它不会对
QItemDelegate制作的小部件产生影响。这就是 Qt 推荐使用QStyledItemDelegate的原因。
标签: c++ qt qitemdelegate qstyleditemdelegate