重写QSqlTableModel的flags函数实现tableview中某些列不可编辑,某些可以编辑

Qt中使用QsqlTableModel和QTableView来显示数据库的查询结果是非常方便的,但是为了使QTableView中某些了列不可用,就需要重写

Qt::ItemFlags flags(const QModelIndex &index) const;函数Qt::ItemFlags MyTableModel::flags(const QModelIndex &index) const{ if (index.column() < 3) return Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable ; else return Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsEnabled;}

在上面的函数中对需要的列进行操作,实现可编辑或不可编辑

posted @ 2013-11-27 11:03  O小木瓜O  阅读(1879)  评论(0编辑  收藏  举报