当前位置:   article > 正文

解决QFileSystemModel结合QTreeView进行排序无效并且排序错乱等不可知问题_qfilesystemmodel节点排序

qfilesystemmodel节点排序

在之前的一个目录排序显示功能开发过程中,出现了排序错乱的问题,经过多次尝试,根本原因还是自己的无知操作导致的程序不可知问题:

m_FileSystemModel->setRootPath(m_DataLoadPath);
m_TreeView->setRootIndex(m_FileSystemModel->index(m_DataLoadPath)); //此处的路径设置必须和前面的一样,否则虽然可以正常显示目录,但是后面的排序等操作会出错,无效,甚至是错乱
//比如我之前随意设置为QDir::currentPath(),会出现上述问题
  • 1
  • 2
  • 3

上述两条语句设置无误之后就是执行正常的排序操作了:

m_FileSystemModel = new QFileSystemModel(this); //QFileSystemModel是Qt的标准模型,使用Qt国际化来翻译界面文字为中文
m_FileSystemModel->setRootPath(m_DataLoadPath);
m_FileSystemModel->setFilter(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot);
m_TreeView->setModel(m_FileSystemModel);
m_TreeView->setRootIndex(m_FileSystemModel->index(m_DataLoadPath)); //此处不可以设置为QDir::currentPath()等其他的路径,前后要一致
m_TreeView->header()->hideSection(1); // ui->treeView->hideColumn(1);
m_TreeView->header()->hideSection(2);
m_TreeView->header()->hideSection(3);
m_TreeView->setSortingEnabled(true);
m_TreeView->sortByColumn(0, Qt::AscendingOrder);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/764673
推荐阅读
相关标签
  

闽ICP备14008679号