QT TreeViewで開始パスを初期化する方法
-
26-12-2019 - |
質問
Linux UbuntuのQt TreeViewの開始パスをユーザーホームに初期化したい。
私はこのコードを試しましたが、機能しません。
QString sPath = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx";
dirmodel = new QFileSystemModel(this);
dirmodel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs);
dirmodel->setRootPath(sPath);
ui->treeView->setModel(dirmodel);
.
- スパスをテストしました:
-
/home/<username>
-
-
${HOME}
-
/home/casper/Music
誰も作品しません。= [
これを解決する方法?
あなたの助けをありがとうございました。
解決
モデルがロードされたら、ツリーウィジェットのsetRootIndex
を呼び出す必要があると思います。
ui->treeView->setRootIndex(dirmodel->index("/home/casper"));
.
または任意のホームディレクトリの場合(Windows、OSXなどでも機能します。):
ui->treeView->setRootIndex(dirmodel->index(QDir::homePath()));
. 所属していません StackOverflow