比如根据(1,1)单元格值 设置颜色,值==2时,置单元格为红。
因为要操作数据库,所以视图得和QSqlTableModel关联,只能用QTableView 不能用QtableWidget类。
但QTableView 却没有设置单元格颜色的方法。
网上介绍重写data()
QVariant QSqlTableModel::data(const QModelIndex &index, int role) const
{
if (role == Qt::TextColorRole && index.item(1,1)== 2) // 根据(1,1)单元格值 设置颜色
return qVariantFromValue(QColor(Qt::red));
return value;
}
此方法根本不行。此时根本找不到对应item的值。程序出错。
难道QTableView 没有此功能实现?怎么实现呢?