Qt对话框图片Debug下可显示,release下不可显示的解决办法

我本来想做一个类似这样的对话框:


Qt对话框图片Debug下可显示,release下不可显示的解决办法_第1张图片

上图绿色和蓝色的示意图用QLable做的。

在Debug下调试完全没有问题,在Release模式下,就变成这样:

Qt对话框图片Debug下可显示,release下不可显示的解决办法_第2张图片

经检查发现在Release模式下,找不到图片资源,即使将qrc资源放到Release文件夹下也不行。但是将图片的绝对路径放进去直接调用就可以加载。

于是将原来的资源路径代码:

blue_2->setStyleSheet(QString::fromUtf8("border-image:url(:/images/images/blue.png);"));    // 图片在资源文件中,:/表示加载资源

改为:

blue_2->setStyleSheet(QString::fromUtf8(path_blue));

其中path_blue为:

QString path_app, path_green, path_blue, string_border, string_back;

path_app=qApp->applicationDirPath();//当前程序运行路径

string_border = "border-image:url(";//前缀

string_back = ");";//后缀

path_blue = string_border+ path_app + "/images/blue.png"+string_back;     //整个引号内的内容


不知还有没有其他成功的做法,欢迎留言指教!


你可能感兴趣的:(Qt)