2012-05-30 57 views
1

我正在構建一個自定義QAbstractItemModel模型。如何通過自定義QAbstractItemModel在QTableView中顯示圖標?

第一列包含圖標,第二列 - 文本。

這是數據方法的代碼:

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"; 
    } 
} 

但所有我所得到的表視圖得到的是在第二列只是文本。第一列沒有文件夾圖標。

我在這裏錯過了什麼嗎?

+0

您是否刪除了您的帖子,然後重新創建它? – cmannett85

回答

4

Qt::DisplayRole僅用於文本。 Add:

if (role == Qt::DecorationRole) { 
    return iconProvider->icon(QFileIconProvider::Folder); 
} 
+0

就是這樣!謝謝 – Alex

相關問題