У меня есть папка, внутри которой у меня есть следующие папки / файлы / файлы
(Папка выделена жирным шрифтом)
[Я скопировал / вставил одну и ту же папку в двух разных местах] На следующих изображениях вы можете ясно увидеть, как одна и та же папка, если она находится в другом месте, дает разные результаты.1.make_file_example
1.1.main.cpp
1.2.MakeFile
1.3.message.cpp
1.4.message.h2.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();
}
}
виновник next()
функция вызывается после того, как путь напечатан в textBrowser_filename
измените цикл while следующим образом:
while(it.hasNext())
{
it.next();
QString path=it.fileName();
ui->textBrowser_filename->append(path);
}
если запись все еще там, как сказано hasNext()
функция, она должна быть повторена в первую очередь.
Других решений пока нет …