我想在 qt 中使用 qrand() 函数从我的目录中随机生成 *.png 文件。为此,我创建了一个 QStringList 对象,以便我可以将所有文件存储在我的目录中。当我运行我的应用程序时,我认为我的 QStringList 对象中有一些文件列表。
我的问题窗格中也有警告:>警告:未知转义序列:'\D' [默认启用]
applicationPath = "C:\\Users\\Tekme\Documents\\QtProject\\4Toddler";
^
我添加上述警告问题的原因是,我在窗口机器上,所以我认为问题可能是路径问题
代码是
QString MainWindow::randomIcon()
{
QStringList iconFileList;
QString searchPath = applicationPath + "\\icons";//applicationPath =
QDir directory = QDir(searchPath);
QStringList filters;
filters << "*.png";
directory.setNameFilters(filters);
iconFileList = directory.entryList(QDir::AllEntries);//i have 6 *.png files
int randomIndex = qrand() % iconFileList.count();
return iconFileList.at(randomIndex);//my application crash here
}
即使我尝试用 iconFileList.at(2) 替换 iconFileList.at(randomIndex) 它也会崩溃。我确定我的目录中有两个以上的文件