Qt 添加资源文件qrc找不到的问题

假设有一个工程,添加的资源文件如下:


在程序中如下:

QPixmap pixmap(QString(":/image/waitting%1.png").arg(m_nIndex));
ui->waittingLabel->setPixmap(pixmap);

会发现是无法显示资源文件中的图片的

到qrc_project.cpp中我们会看到

所以此时想引用资源文件里面的图片  应该是 :/image/image/waitting1.png 而不是 :/image/waitting.png

对于资源文件认识:

参考 https://blog.csdn.net/dijkstar/article/details/48848915

  1. 各种资源文件会被编译成unsigned char,放到字节数组qt_resource_data[]中
  2. 这些内容在编译的时候已经创建了,只能进行读操作,不能进行写操作
  3. 外部改动资源文件,都需要重新编译
  4. 当资源文件为文本文件时候要注意编码格式,要正确显示,或者为系统设置编码格式,或者在使用的时候明确编码格式
        void MainWindow::readResult(int exitCode)  
        {  
            if(exitCode == 0) {  
        #if defined(Q_OS_WIN32)  
                QTextCodec* gbkCodec = QTextCodec::codecForName("GBK");  
                QString result = gbkCodec->toUnicode(p->readAll());  
        #elif defined(Q_OS_LINUX)  
                QTextCodec* utfCodec = QTextCodec::codecForName("UTF-8");  
                QString result = utfCodec->toUnicode(p->readAll());  
        #endif  
                QMessageBox::information(this, "dir", result);  
            }  
        }  
  5. 可以将":/"传给QDir,然后可以获得其所有文件内容
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值