繁体   English   中英

QItemDelegate 和 QStyledItemDelegate 有什么区别?

[英]What is the difference between QItemDelegate and QStyledItemDelegate?

这两个类都为模型中的数据项提供显示和编辑功能。 QStyledItemDelegate较新,关于QItemDelegate的 Qt 文档指出:

请注意, QStyledItemDelegate 已经接管了绘制 Qt 项目视图的工作。 我们建议在创建新委托时使用 QStyledItemDelegate。

我很困惑这两者之间有什么区别,以及为什么QStyledItemDelegateQItemDelegateQItemDelegate

正如QStyledItemDelegate文档中提到的,不同之处在于QStyledItemDelegate使用当前样式来绘制其项目。

这两个类是绘画和为视图中的项目提供编辑器的独立替代品。 它们之间的区别在于QStyledItemDelegate使用当前样式来绘制其项目。 因此,我们建议在实现自定义委托或使用 Qt 样式表时使用QStyledItemDelegate作为基类。 除非自定义委托需要使用样式进行绘制,否则任一类所需的代码应该相同。

请注意,此答案基于 Iuliu 和 Alex 的评论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM