2012-03-26 111 views
1

我想創建一個文件資源管理器在qt工作,但我不能設置根路徑。我正在運行Mac OS X,無論我放入什麼根路徑,樹視圖總是以SetRootPath與QT,QFileSystemModel在Mac OS X

「/」頂部文件夾開頭。

我花了2個小時試圖弄清楚這一點。

if(QDir("SavedOutlines").exists()){ 
    fileModel = new QFileSystemModel; 
    QDir dir; 
    QString rootpath = dir.absolutePath() + "/SavedOutlines/"; 
    //QString path = "/Users/"; 
    fileModel = new QFileSystemModel(this); 

    QModelIndex idx = fileModel->setRootPath(rootpath); 
    ui->treeView->setCurrentIndex(idx); 
    ui->treeView->setModel(fileModel); 
    ui->treeView->show(); 
} 

好像它做它在第一,然後重新本身回到頂部「/」

回答

1

QFileSystemModel總是包含整個文件系統,而不管選擇的是rootPath的。

您可以限制什麼是顯示在視圖本身QAbstractItemView::setRootIndex

QFileSystemModel *fileModel = new QFileSystemModel(this); 
ui->treeView->setModel(fileModel); 
ui->treeView->setRootIndex(fileModel->setRootPath(rootpath));