QTableView添加自定义QCheckBox

使用的是自定义委托的方式,重写了panit函数和editorEvent函数实现指定列内嵌复选框,单击实现选中状态切换
主要思路:paint函数里进行复选框的绘制,并实时读取模型数据显示状态,editorEvent函数里判断单元格点击情况进行处理。
源代码如下:
checkdelegate.h
#ifndef CHECKDELEGATE_H  
#define CHECKDELEGATE_H    
#include <QStyledItemDelegate>  
#include <QtGui>  
  
class CheckBoxDelegate : public QStyledItemDelegate  
{  
    Q_OBJECT  
public:  
    CheckBoxDelegate(QObject *parent = 0);  
protected:  
    void paint(QPainter* painter,const QStyleOptionViewItem& option,const QModelIndex& index) const;  
    bool editorEvent(QEvent *event,QAbstractItemModel *model,const QStyleOptionViewItem &option,const QModelIndex &index);  
};   
#endif // CHECKDELEGATE_H  

checkdelegate.cpp
#include "checkdelegate.h"  
#include <QMouseEvent>  
#include <QPainter>  
#i
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值