gpt4 book ai didi

c++ - 为什么 QIterator 对象对于放置在两个不同位置的同一个文件夹表现不同?

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

我有一个文件夹,里面有以下文件夹/文件(粗体文件夹)

1.make_file_example

1.1.main.cpp
1.2.MakeFile
1.3.message.cpp
1.4.message.h

2.makeFileExample.txt
3.other_sources.txt
4.QTnotes.txt

[我已将同一个文件夹复制/粘贴到两个不同的位置]在下图中,您可以清楚地看到放置在不同位置的同一文件夹如何产生不同的结果 image1 image2

我使用的代码片段如下:

   void MainWindow::on_pushButton_browse_clicked()
{
ui->textBrowser_filename->setLineWrapMode(QTextEdit::NoWrap);
ui->textBrowser_filename->setText("");
QString dir= QFileDialog::getExistingDirectory(this, tr("Open Directory"),
"/home",
QFileDialog::ShowDirsOnly
| QFileDialog::DontResolveSymlinks);
ui->lineEdit_dir->setText(dir);
QDirIterator it(dir, QDir::NoDotAndDotDot | QDir::AllEntries , QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while(it.hasNext())
{
QString path=it.fileName();
ui->textBrowser_filename->append(path);
it.next();
}
}

最佳答案

罪魁祸首是在 textBrowser_filename 中打印路径后调用的 next() 函数更改 while 循环如下:

while(it.hasNext())
{
it.next();
QString path=it.fileName();
ui->textBrowser_filename->append(path);
}

如果条目仍然存在,如 hasNext() 函数所述,则必须先对其进行迭代。

关于c++ - 为什么 QIterator 对象对于放置在两个不同位置的同一个文件夹表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46595094/

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