我有一个文件夹,里面有以下文件夹/文件 (粗体文件夹)
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
[我在两个不同的位置复制/粘贴了相同的文件夹]
在下面的图像中,您可以清楚地看到放置在不同位置时相同的文件夹给出不同的结果
我使用的代码片段如下:
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();
}
}
答案 0 :(得分:0)
罪魁祸首是在textBrowser_filename
中打印路径后调用while(it.hasNext())
{
it.next();
QString path=it.fileName();
ui->textBrowser_filename->append(path);
}
函数,更改while循环,如下所示:
hasNext()
如果条目仍然存在,如value.local();
value.hours(); // 18
函数所述,则必须先进行迭代。