自学内容网 自学内容网

QT 中通过相对路径导入图片遇到QPixmap::scaled: Pixmap is a null pixmap 的解决办法

#include "TitleUi.h"
#include "ui_TitleUi.h"

TitleUi::TitleUi(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::TitleUi)
{
    ui->setupUi(this);
    ui->logo->setPixmap(QPixmap(":/image/logoicon.ico").scaled(40,40));
}

TitleUi::~TitleUi()
{
    delete ui;
}

用QPixmap导入图片一直报错,QPixmap是空值,实际上这就是因为图片的路径不对,需要注意的是,这里的相对路径,不是根据文件间的位置来确定的,而是根据.qrc里面的文件路径来决定的

比如我将图片放在了qrc的/new/pex目录下,尽管相对于TitelUi.cpp,图片就是在":/image"目录下,但是这没有用处,必须使用qrc的":/new/pex/image/logoicon.ico"才可以。

更改之后才加载成功。

或者将qrc文件的路径改为"/",也可以加载成功。


原文地址:https://blog.csdn.net/weixin_74027669/article/details/140200031

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!