我想使用qrand()函数在qt中随机生成我的目录中的* .png文件。 为此我创建了一个QStringList对象,以便我可以存储我的所有文件 directory.thinking当我运行我的应用程序时,我在我的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),它也会粉碎。 我确信我的目录中有两个以上的文件
答案 0 :(得分:1)
答案在错误中:
applicationPath = "C:\\Users\\Tekme\Documents\\QtProject\\4Toddler";
应该是
applicationPath = "C:\\Users\\Tekme\\Documents\\QtProject\\4Toddler";
您缺少额外的斜杠