Qt-QTableView委托模型学习2——模型类实现

上一篇已经实现了委托类,下面实现模型类的数据处理

1、创建模型类

创建模型类时需要也是根据个人需求的功能逻辑来实现

QAbstractListModel类官方解释:QAbstractListModel类提供了一个抽象模型,可以继承这个抽象模型来创建一维列表模型。  

QAbstractListModel为模型提供了一个标准接口,这些模型将其数据表示为简单的非分层项序列。 它不直接使用,但必须子类化。  

由于模型提供了一个比QAbstractItemModel更专门的接口,它不适合与树视图一起使用; 如果你想要提供一个模型,你需要子类QAbstractItemModel。 如果您需要使用许多列表模型来管理数据,那么子类化QAbstractTableModel可能更合适。  

通过继承这个类并实现所需函数的最少数量,可以创建简单的模型。 例如,我们可以实现一个简单的只读的基于qstringlist的模型,它向QListView小部件提供字符串列表。 在这种情况下,我们只需要实现rowCount()函数来返回列表中的条目数,以及data()函数来从列表中检索条目。  

因为模型表示一维结构,所以rowCount()函数返回模型中项目的总数。 columnCount()函数的实现是为了与所有类型的视图互操作性,但默认情况下会通知视图模型只包含一个列。

因我需要使用的数据和功能操作都在同一列绘制完成,所以只需要1列即可,选择QAbstractListModel更为方便

class CQuestionModel : public QAbstractListModel
{
    Q_OBJECT
public:
    // 按钮操作枚举
    enum OperationButton {
        OPT_EXPLAIN_MODE = 0,
        OP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值