簡體   English   中英

在啟動時使用 QFileSystemModel 滾動到 QTreeView 中的文件

[英]ScrollTo a file in QTreeView with a QFileSystemModel on start-up

過去幾個小時我一直在閱讀,但沒有找到解決看似簡單的常見問題的好方法。 我有一個帶有 QFileSystemModel 的 QTreeView。 我想將當前索引設置為用戶保存的最后一個文件並滾動到該位置。 因為 qfilesystemmodel 以異步方式加載,如果我立即使用函數 scrollTo(mydesiredindex),如下所示:

Model = new QFileSystemModel;
Model->setRootPath(RootDirectory);
Model->setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
ui.RootView->setModel(Model);
ui.RootView->setCurrentIndex(Model->index(LastUsedPath));
ui.RootView->scrollTo(Model->index(LastUsedPath));

qtreeview 滾動到文件的當前位置,然后在它之前添加更多文件,以便將 mydesiredindex 推出視圖。

我試圖獲得模型完成填充樹視圖的信號,但無濟於事。 信號 directoryLoaded(const QString &) 和 rowsInserted(const QModelIndex &, int, int)) 在模型完成填充之前發出信號。

感謝任何人的幫助。

我相信這可能與您的命令的順序有關。 如下訂

self.tree.scrollTo(index)
self.tree.expand(index)
self.tree.setCurrentIndex(index)

或者在你的代碼中

ui.RootView->scrollTo(Model->index(LastUsedPath));
ui.RootView->expand(Model->index(LastUsedPath));
ui.RootView->setCurrentIndex(Model->index(LastUsedPath));

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM