博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt中QTableView中加入Check列实现
阅读量:5054 次
发布时间:2019-06-12

本文共 1298 字,大约阅读时间需要 4 分钟。

 

class MyModel : public QSqlQueryModel {
Q_OBJECT
public:
MyModel(QObject *parent = 0);
Qt::ItemFlags flags(const QModelIndex &index) const;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
........
};
 
Qt::ItemFlags MyModel::flags(const QModelIndex &index) const {
Qt::ItemFlags flags = QSqlQueryModel::flags(index);
if (index.column() == aColWithCheckbox)
flags |= Qt::ItemIsUserCheckable;
else
flags |= Qt::ItemIsEditable;
return flags;
}
 
QVariant MyModel::data(const QModelIndex &index,  int role) const {
QVariant value = QSqlQueryModel::data(index, role);
if (role == Qt::CheckStateRole && index.column() == aColWithCheckbox)
return (QSqlQueryModel::data(index).toInt() != 0) ? Qt::Checked : Qt::Unchecked;
else
return value;
}
 

bool MyModel::setData( const QModelIndex & index, const QVariant & value, int role) 

    if(index.isValid() && role == Qt::CheckStateRole&&index.column()==0) 
    { 
        if(value.value<int>()==Qt::Checked) 
        { 
            m_config->setAutoRun(index.row(), true); 
        } 
        else 
        { 
            m_config->setAutoRun(index.row(), false); 
        } 
        emit dataChanged(index, index); 
        return true; 
    } 
    return false; 
}

转载于:https://www.cnblogs.com/Podevor/archive/2011/11/01/2788007.html

你可能感兴趣的文章
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>
linux基础-命令
查看>>
java对象的深浅克隆
查看>>
Hadoop流程---从tpch到hive
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
V2019 Super DSP3 Odometer Correction Vehicle List
查看>>
Python 3.X 练习集100题 05
查看>>
今时不同往日:VS2010十大绝技让VS6叹服
查看>>
设计器 和后台代码的转换 快捷键
查看>>
在线视频播放软件
查看>>
用代码生成器生成的DAL数据访问操作类 基本满足需求了
查看>>
28初识线程
查看>>
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>
浅谈C++底层机制
查看>>
STL——配接器、常用算法使用
查看>>
第9课 uart
查看>>
Range和xrange的区别
查看>>
BZOJ 1010 [HNOI2008]玩具装箱 (斜率优化DP)
查看>>