QFile::exists
画像リソースの存在をテストするために使用できるQt フォーラムを読みました。
私のプロジェクトにはたくさんの画像があります.QMLファイルの参照の1つは次のとおりです。
qrc:/images/ImageViewer/viewer_camera_rear2_off.png
Qt Creator をチェックインしましたが、リソースは存在し、正しいものです。checkImage という関数を C++ に追加しました。
QString Manager::checkPath(QString path) {
bool valid = false;
if ( path.length() > 0 && path.indexOf(".") > 0 ) {
const QString QRCprefix("qrc:");
if ( path.startsWith(QRCprefix) != true ) {
const QString imgsPath("/images/");
if ( path.startsWith(imgsPath) != true ) {
path = imgsPath + path; /*Thank you @WilliamMiller*/
}
path = QRCprefix + path;
}
valid = QFile::exists(path);
}
return (valid == true) ? path : "";
}
私はこれを Qt Creator でデバッグし、QFile::exists
false を返しました。画像と参照が正しく存在するという絶対的な事実を知っているので、Qt 開発者フォーラムの情報は間違っていますか?
また、QRC プレフィックスを次のように変更してみました。
qrc:/
qrc://
結果は同じですが、QFile::exists は false を返します。