bool setHeaderData ( int section,Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole ) 设置水平头或垂直头标题
int rowCount ( const QModelIndex &parent= QModelIndex() ) const // 返回行数
int columnCount ( const QModelIndex &index = QModelIndex() ) const // 返回列数
virtual bool removeColumns ( int column, int count, const QModelIndex &parent = QModelIndex() ) //model->removeColumns (0)删除第一列
bool QSqlTableModel::submitAll (),//提交所有被修改的数据,然后修改的数据被保存在数据库中
void QSqlTableModel::revertAll () //撤销所有的修改,如果数据库已经被提交了修改,就不能通过撤销修改改回来了
virtual void revertRow ( int row ) //恢复指定行的改变
void QSqlTableModel::setFilter ( const QString &filter ) //筛选,按照字符串filter对数据库进行筛选,相当于SQL中的WHERE语句
bool QSqlTableModel::select () //在筛选和排序的条件下,将数据库中符合要求的在mode表格中显示出来
void QSqlTableModel::setSort ( int column, Qt::SortOrder order ) //排序 *** 作。按照列和Qt::SortOrder排序。Qt::SortOrder有升序和降序
bool insertRow ( int row, const QModelIndex &parent = QModelIndex() ) //插入行
bool insertColumn ( int column, constQModelIndex &parent = QModelIndex() ) // 插入列
model->setEditStrategy(QSqlTableModel::OnManualSubmit) //设置保存策略为手动提交
回复:Qt::BackgroundRole改成Qt::ForegroundRole,就是文字颜色.(0,5)单元格就是index.column()==5&&index.row()==0
subclass你的Model,重载data、setData函数,以data()为例:
QVariant MyTestModel::data(const QModelIndex &index, int role) const
{
switch(role)
{
case Qt::DisplayRole:
return QVariant(QString(tr("%1")).arg((index.column() + 1) * 1000 + index.row() + 1))
case Qt::BackgroundRole:
switch(index.column() % 3)
{
case 0:
return QVariant(QColor(Qt::red))
case 1:
return QVariant(QColor(Qt::green))
case 2:
return QVariant(QColor(Qt::blue))
default://only to disable warning
return QVariant(QColor(Qt::white))
}
break
default:
return QVariant()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)