关于QFileSystemMode的setRootIndex不起作用


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    model = new QFileSystemModel(this);
    model->setRootPath(QDir::currentPath());
    ui.treeView->setModel(model);
    ui.listView->setModel(model);
    ui.tableView->setModel(model);



    connect(ui.treeView, SIGNAL(clicked()), ui.listView, SLOT(setRootIndex(QModelIndex)));
    connect(ui.treeView, SIGNAL(clicked()), ui.tableView, SLOT(setRootIndex(QModelIndex)));
}
大佬们,为什么点击treeView文件夹时,tableView和listView没有反应啊
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这篇文章:QFile写文件 中文乱码解决方法
  • 除此之外, 这篇博客: Qt:QFileSystemModel 使用记录中的 但是: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    上面仅仅实现了修改表头内容,下面的数据,依然是修改日期。

    想要修改下面的数据,需要重写QFileSystemModel::data函数,但是该函数中调用了私有成员,不能直接修改重写。

    所以还是需要,一行一行的手动修改数据。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^