Я хотел бы показать изображение в QLabel
виджет. Изображение находится в папке ./images/
относительно resource.qrc
файл и включены, как это:
<RCC>
<qresource prefix="/images">
<file>image.png</file>
</qresource>
</RCC>
Теперь я хочу показать изображение в QLabel
:
QPixmap pixmap( ":/images/image.png" );
label->setPixmap( pixmap );
Это не работает В режиме отладки pixmap = NULL
, Я думаю, что путь qrc неверен. С абсолютным системным путем к изображению c:/images/...
это работает отлично. Любая идея?
Указанный вами префикс применяется к пути к ресурсам внутри приложения. Это не относится к реальному пути к файлу. Правильный ресурс должен быть:
<RCC>
<qresource prefix="/images">
<file>images/image.png</file>
</qresource>
</RCC>
И путь ресурса будет :/images/images/image.png
,
Вы также можете указать prefix="/"
в файл RCC и использовать ://images/image.png
путь ресурса. Я думаю, что это более удобно.
Если вы используете псевдоним в вашем файле ресурсов, давая: —
<RCC>
<qresource prefix="/images">
<file alias="image">images/image.png</file>
</qresource>
</RCC>
Затем вы можете получить доступ к своему изображению, как вы делаете с: —
«: /Images/image.png»