質問

Linux UbuntuのQt TreeViewの開始パスをユーザーホームに初期化したい。

ENTER IMENT Descriptionこちら

私はこのコードを試しましたが、機能しません。

QString sPath = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx";
dirmodel = new QFileSystemModel(this);
dirmodel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs);
dirmodel->setRootPath(sPath);
ui->treeView->setModel(dirmodel);
.

  • スパスをテストしました:
    1. /home/<username>
    2. ${HOME}
    3. /home/casper/Music

誰も作品しません。= [

これを解決する方法?

あなたの助けをありがとうございました。

役に立ちましたか?

解決

モデルがロードされたら、ツリーウィジェットのsetRootIndexを呼び出す必要があると思います。

ui->treeView->setRootIndex(dirmodel->index("/home/casper"));
.

または任意のホームディレクトリの場合(Windows、OSXなどでも機能します。):

ui->treeView->setRootIndex(dirmodel->index(QDir::homePath()));
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top