model/view

 注意:view中这样设置tabelView.setEditTriggers(QAbstractItemView::NoEditTriggers)在界面点击无法显示编辑器,需要和后面一段结合就能达到不能编辑又能显示控件

 view->openPersistentEditor(mTtemModel->index(0, 8)); //持久显示控件
 //渲染相关的接口
    void paint(QPainter *painter,
               const QStyleOptionViewItem &option, const QModelIndex &index) const override;
    QSize sizeHint(const QStyleOptionViewItem &option,
                   const QModelIndex &index) const override;

    //编辑相关的接口  用于创建编辑器
    QWidget *createEditor(QWidget *parent,
                          const QStyleOptionViewItem &option,
                          const QModelIndex &index) const override;
    //将模型中的数据赋值给编辑器   如果没有把数据设置给编辑器,那么用户在编辑时候,编辑器上不会有默认的数据显示(原始数据显示在原位置 方便更改对比)
    void setEditorData(QWidget *editor, const QModelIndex &index) const override;
   //将编辑器的值赋值给model  用户在编辑器上更该数据,已更改的数据将显示到view,如果不设置,则无法显示已更改的内容
    void setModelData(QWidget *editor,
                      QAbstractItemModel *model,
                      const QModelIndex &index) const override;
    //更新编辑器的位置大小
    void updateEditorGeometry(QWidget *editor,
                              const QStyleOptionViewItem &option,
                              const QModelIndex &index) const override;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值