2

カスタム QAbstractItemModel モデルを構築しています。

最初の列にはアイコンが含まれ、2 番目の列にはテキストが含まれます。

これは、データ メソッドのコードです。

QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const
{
    if(role != Qt::DisplayRole )
        return QVariant();

    int col = index.column();
    if (col == 0)
    {
        return iconProvider->icon(QFileIconProvider::Folder);
    }
    else if (col == 1)
    {
        return "TEXT";
    }
}

しかし、結果の Table View に表示されるのは、2 列目のテキストだけです。最初の列にフォルダー アイコンはありません。

ここで何か不足していますか?

4

1 に答える 1

7

Qt::DisplayRoleテキスト専用です。追加:

if ( role == Qt::DecorationRole ) {
    return iconProvider->icon(QFileIconProvider::Folder);
}
于 2012-05-30T17:21:21.000 に答える