Qt QAbstractTableModel的使用以及在QML下调用

最近有个需求,就是在QML中显示一个表格, 表格中显示一些字符,此外还需要显示数值和图形(圆形图像不同颜色代表true/false)。网上找了很多内容发现不是很适用,好多都是适用widget适用C++来做表格。但是widget做的在QML下使用感觉又有点问题(widget使用paint渲染, 但是QML使用的是scense graph,使用QSGNode)。那还是用QAbsractTableMode来用C++实现Model, 而在QML下使用TableView,把显示和数据分开处理。

对于使用QAbstractTableMode, 网上有比较多的介绍。下面这个是写的不错的: 

https://blog.csdn.net/qq411633267/article/details/80817275

根据这篇,在C++部分,实现了下面的几个函数,分别是: 

columnCount(const QModelIndex &parent) const; 返回表格的列数

rowCount(const QModelIndex &parent) const; 返回表格的行数;

QVariant data(const QModelIndex &index, int role) const; 根据index和role来返回表格数据;

QHash<int, QByteArray> roleNames() const; 返回roles;

在创建Model时, 创建一个QStringList, 设置几个roles。每一列设置一个role。

在QML中,Table

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值