Стиль пути к ресурсу, который вы используете, подразумевает, что файл frog.bmp находится в файле ресурсов. Поэтому либо вам нужно разрешить путь к файлу bmp во время выполнения, либо вам нужно добавить файл ресурсов в свой проект.
Если вы используете дизайнер пользовательского интерфейса, концепция файлов ресурсов обрабатывается автоматически, но если вы хотите получить доступ к ресурсам через код, вам нужно сделать несколько вещей.
Сначала создайте файл ресурсов. В визуальных студиях (с надстройкой визуальных студий) для этого есть мастер. По сути, это просто xml-файл с расширением .qrc, который выглядит примерно так:
<RCC>
<qresource prefix="/images">
<file>frogger.bmp</file>
</qresource>
</RCC>
Теперь этот файл нужно обработать во время сборки. Если вы использовали файлы .ui, все аналогично. Существует инструмент под названием «rcc.exe», который принимает файл qrc в качестве входных данных и создает файл .cpp, который необходимо скомпилировать и связать с вашим проектом.
Если вы используете визуальные студии и у вас есть подключаемый модуль Qt Visual Studios, все это должно быть обработано за вас, когда вы добавляете файл qrc в проект.
Если вы используете QMake, ваш файл pri должен содержать раздел «РЕСУРСЫ», в котором вам нужно перечислить файл qrc примерно так:
RESOURCES += yourqrcfile.qrc
Теперь, когда это будет сделано. Вы можете получить доступ к своим ресурсам в коде. Ваш вызов QFile::exists должен разрешать имя файла.
В случае, когда вы помещаете свои ресурсы в статическую или общую библиотеку, вам нужно будет добавить следующую строку в свой класс, чтобы убедиться, что файл ресурсов загружен.
Q_INIT_RESOURCE(yourqrcfile); // do not include the extension, just the name of the file.
Вот несколько ссылок, которые объясняют вещи более подробно:
Создание файла ресурсов в Qt Creator
Объяснение того, как работают файлы ресурсов
person
Liz
schedule
31.07.2013
%s
qDebug
ожидает строку ascii с завершающим нулем, ноQString::data()
возвращает указатель на представление строки UTF-16. Вместо этого вы должны использовать что-то вродеqDebug("... %s", resourcePath.toLatin1().data());
. - person alexisdm   schedule 31.07.2013qPrintable(resourcePath)
) - person Frank Osterfeld   schedule 31.07.2013