2012-09-10 13 views
7

フォルダ(Mac OSでは "Users"フォルダ)の内容を表示するQtアプリケーションを作成しようとしています。ここで コードです:私も、私はアプリケーションを実行するとthis codeQFileSystemModel setRootPath

を使用して、代わりに「/ユーザ」の内容を示す試みた

QFileSystemModel *dirModel = new QFileSystemModel; 
dirModel->setRootPath("/Users"); 

ui->listView->setModel(dirModel); 

フォルダは、それが(ノートをルートドライブを示していますありませんドライブの内容)。フォルダが存在し、私も他のフォルダを使用しようとしました。

+0

あなたがリンクされ、質問からやその答えからコードをしようとしましたか? (私はそれを少しだけ明確にするために編集しました)。 – alexisdm

+0

私は質問からコードを受け取りました。私は今答えを試みます – VeryCreativeName

答えて

9

インデックスを強制的に表示してみましたか?

 listView->setRootIndex(dirModel->index("/Users")); 

これは私のために正常に動作します:

#include <QtGui> 

int main(int argc, char *argv[]) 
{ 
QApplication app(argc, argv); 
QFileSystemModel model; 
model.setRootPath("/Users"); 
QListView view; 
view.setModel(&model); 
view.setRootIndex(model.index("/Users/")); 
view.show(); 
return app.exec(); 
} 
+0

QAbstractItemView :: setRootIndexが失敗しました:インデックスは現在設定されているモデルのものでなければなりません – VeryCreativeName

+0

上記の編集を参照してください。 – count0

5

このコードは、同様に私のために働いています

QFileSystemModel *dirModel = new QFileSystemModel(this); 
dirModel->setRootPath("/Users"); 

ui->listView->setModel(dirModel); 
ui->listView->setRootIndex(dirModel->setRootPath("/Users")); 
関連する問題