过去几个小时我一直在阅读,但没有找到一个很好的解决方案来解决看似简单的常见问题。我有一个带有 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)) 在模型完成填充之前发出信号。
感谢任何人的帮助。