从文件夹中获取所有文件名到QT中的滚动区域

Getting all the files names from folder to a scroll area in QT

我是QT的新手,我想知道如何将文件夹中的所有文件名获取到滚动区域并允许用户单击它来执行功能。

我认为您应该阅读一些文档以了解 Qt 的工作原理。

要获取目录中的所有文件,可以使用QDirentryInfoList()方法。使用 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);

并连接到 QListWidgetitemClicked() 信号,以便在用户单击条目时执行某些操作。