2014-02-11 28 views
0

我看了這個答案,但在這裏找不到任何東西,所以我問它。在PySide中使用QFileSystemModel,從索引獲取項目

使用QStandardModel使用命令功能itemFromIndexQModelIndex中獲取物品是相當直接的。

model = openedIndex.model() 
item = model.itemFromIndex(openedIndex) 

我很感興趣,這樣做基本上是相同的,但對於QFileSystemModel,有沒有爲我做這一個簡單的或直接的方式。在文檔中看不到任何內容。

回答

1

QFileSystemModel沒有任何項目類。它不會爲每個項目創建一個對象。

您可能會發現QFileSystemModel::filePathQFileSystemModel::index方法有用。它們允許將索引轉換爲路徑,反之亦然。索引和路徑都可以用作唯一的項目標識符。

無法直接禁用QFileSystemModel中的某些項目。您需要創建一個代理模型類,它將返回與源模型幾乎相同的數據和標誌,但在需要時刪除Qt::ItemIsEnabled標誌。

+0

然後,如果不是這樣,任何想法我可能會去禁用它的項目。如果我設置過濾項目被禁用,所以我認爲它一定是可能的? – ceorron

+1

這是不可能的。您需要創建一個代理模型類,它將返回與源模型幾乎相同的數據和標誌,但需要時移除'Qt :: ItemIsEnabled'標誌。 –

+0

我已經創建了一個代理模型,我將如何去除使用代理模型的'Qt :: ItemIsEnabled'標誌。 – ceorron

相關問題