Qt 如何滚动到当前索引?
我正在使用QTreeView和QFileSystemModel制作一个文件浏览器。 必须选择它,并自动将树滚动到所选项目。但如果没有键盘,它无法自动滚动Qt 如何滚动到当前索引?,qt,qtreeview,qfilesystemmodel,Qt,Qtreeview,Qfilesystemmodel,我正在使用QTreeView和QFileSystemModel制作一个文件浏览器。 必须选择它,并自动将树滚动到所选项目。但如果没有键盘,它无法自动滚动 QString strFile = "/usr/bin/qmake"; QFileInfo fi(strFile); QString dirFile = fi.dir().absolutePath(); QFileSystemModel model; model.setRootPath("/"); model.setFilter(QDir:
QString strFile = "/usr/bin/qmake";
QFileInfo fi(strFile);
QString dirFile = fi.dir().absolutePath();
QFileSystemModel model;
model.setRootPath("/");
model.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);
QTreeView view;
view.setModel(&model);
tree.setCurrentIndex(model.index(strFile));
tree.scrollTo(model.index(strFile));
view.show();
执行上述代码时,滚动显示在顶部,但选择了文件
不滚动到所选项目有什么问题?您可以使用
可选传递您希望项目作为第二个参数的选项,如:qabstractemview::PositionAtTop
或
乐:我注意到你实际上调用了scrollTo
,但是你调用它是为了一些树
(我们看不到它是什么),你应该为视图
调用它,这同样适用于设置当前索引
view.scrollTo(view.currentIndex());