2
我想使用qrand()函數從qt中隨機生成* .png文件。 要做到這一點,我已經創建了一個QStringList對象,以便我可以將我擁有的所有文件存儲在我的 目錄中。思考當我運行我的應用程序時,我的QStringList對象中有一些文件列表。QList中的ASSERT失敗<T> :: at:Qt 5中的「索引超出範圍」
我還警告我的問題窗格:>警告:不知名的轉義符:「\ 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),它也會粉碎。 我相信,我有我的目錄中超過2個文件
其總是值得檢查'directory.exists()'和'!iconFileList.isEmpty()' – Zaiborg
我覺得這樣的錯誤很愚蠢。感謝您的提示,最後我用了!conFileList.isEmpty()我幫了我很多 – realtekme