qpainter绘制html文本,QT界面 使用QStyledItemDelegate QPainter QStyleOptionViewItem QModelIndex组合实现项的绘制...

QStyledItemDelegate类为来自模型的数据项提供了显示和编辑工具。

当在Qt项视图(例如QTableView)中显示来自模型的数据时,各个项由委托(delegate)绘制。此外,当编辑一个项目时,它提供一个编辑器小部件,当编辑发生时,该小部件放在项目视图的顶部。QStyledItemDelegate是所有Qt项视图的默认委托,在创建时安装在它们上。 QStyledItemDelegate类是模型/视图类之一,是Qt模型/视图框架的一部分。委托允许独立于模型和视图开发项目的显示和编辑。

项目的数据在模型中被分配一个ItemDataRole;每个项目可以为每个角色存储QVariant。QStyledItemDelegate实现显示和编辑用户所期望的最常见的数据类型,包括布尔值、整数、字符串。根据数据在模型中所扮演的角色,数据的绘制将会有所不同。通常需要确保模型为每个角色返回适当的数据,以确定视图中的项的外观。

这里有以下几个要点要记住:

1.QStyledItemDelegate是专门用于项的(item)的视图委托!不能作为其他非项的委托使用。

2.委托用于实现个性化设置的项显示,他的数据来源于模型(model),控制view显示的方式。

3.QStyledItemDelegate是作为默认项委托使用的。如果不独立实现并制定项的委托,则在自定义view和自定义的model中使用默认的委托(delegate)。

4.使用默认委托时,从模型中读取的数据都是按照默认规则来的。默认规则就是通过itemDataRole角色标志的数据在view中显示的。因此需要在model中未每个定义的角色返回合适的数据,这样在使用默认委托时才能显示出自己想要的效果。当然,如果想要其他个性化效果最好是使用自定义的委托。

模型中角色可接受的数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值