私は過去に QSqlTableModel を拡張しましたが、現在は行き詰まっています (結局まだ初心者です):
QVariant MyChild::data(const QModelIndex &index, int role) const
{
// Check if (soft)deleted / cancelled
if(index.column() == 3)
{
if(QSqlTableModel::data(index, Qt::DisplayRole).toString() == "1")
{
if(role == Qt::DisplayRole)
{
return "Deleted";
}
if(role == Qt::BackgroundColorRole)
{
return QVariant(QColor(Qt::yellow));
}
// QSqlTableModel::setData(index, QVariant(QColor(Qt::red)), Qt::BackgroundColorRole);
// setData(index, QColor(Qt::red), Qt::BackgroundColorRole);
}
}
return QSqlTableModel::data(index, role);
}
今、これはそれが行うことに対してうまく機能します。テーブルのフィールドを黄色に色付けしますが、代わりに行全体に色を付けたいと思います。したがって、このレコードはすでに (ソフト) 削除されていることが一目でわかります。
ご覧のとおり、すでに setData を呼び出してみましたが、役に立ちませんでした。(もちろん、この行の各インデックスに対してこれを行いますが、最初はうまくいかないので、そこでやめました。)
これに関するアイデアはありますか?Web をよく検索しましたが、行全体に色を付ける方法が見つからないようです。