gpt4 book ai didi

c++ - 如何获取QTreeView中没有出现的文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:28 24 4
gpt4 key购买 nike

我将 QTreeViewsetFilter() 函数一起使用,以允许仅显示目录和驱动程序,但不允许显示文件。

但是我想获取QTreeView中没有出现的文件,继续显示QTreeView中没有文件的目录和驱动程序。

QFileSystemModel dirsModel = new QFileSystemModel;
dirsModel->setRootPath("");
ui->treeView->setModel(dirsModel);
dirsModel->setFilter(QDir::AllDirs | QDir::NoDotAndDotDot);

我该怎么做?

最佳答案

正如我之前所说,您需要获取 entryList。例如:

void MainWindow::on_pushButton_clicked()
{
QModelIndex ind = ui->treeView->currentIndex();
QFileSystemModel *sys = qobject_cast<QFileSystemModel*>( ui->treeView->model());
QString path = sys->filePath(ind);
qDebug() << path;
QDir dir(path);
QStringList files = dir.entryList(QStringList(), QDir::Files);
if(!files.size())
qDebug()<< "Empty";
else
for(int i=0 ; i<files.size();i++)
qDebug() << files.at(i);
}

我们在这里使用QFileSystemModel只是为了获取当前路径,entryList与此完全不同。

关于c++ - 如何获取QTreeView中没有出现的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26823847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com