Я думаю, вам следует прочитать некоторую документацию, чтобы понять, как работает Qt.
Чтобы получить все файлы в каталоге, вы можете использовать метод entryInfoList() QDir. Просто использовать QListWidget для отображения этих файлов.
Вы можете создать функцию для получения файлов, например
QDir dir(path);
for (const QFileInfo &file : dir.entryInfoList(QDir::Files))
{
QListWidgetItem *item = new QListWidgetItem(file.fileName());
item->setData(Qt::UserRole, file.absolutePath()); // if you need absolute path of the file
listWidget->addItem(item);
}
Если вы не хотите использовать абсолютный путь, вы можете использовать только метод entryList().
QDir dir(path);
for (const QString &filename : dir.entryList(QDir::Files)
listWidget->addItem(filename);
И подключитесь к сигналу itemClicked() QListWidget, чтобы сделать что-то, когда пользователь щелкнул запись.