2

我想在 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) 它也会崩溃。我确定我的目录中有两个以上的文件

4

1 回答 1

1

答案在错误中:

applicationPath = "C:\\Users\\Tekme\Documents\\QtProject\\4Toddler";

应该

applicationPath = "C:\\Users\\Tekme\\Documents\\QtProject\\4Toddler";

你错过了一个额外的斜线

于 2013-10-10T15:08:57.637 回答