• 12077阅读
  • 10回复

[提问]QT 4.7 MessageBox无法显示图片 [复制链接]

上一主题 下一主题
离线yzpdsg
 

只看楼主 倒序阅读 楼主  发表于: 2011-03-22
我记得4.6中使用下面的代码可以正确的在messageBox中显示图片

    QMessageBox message(QMessageBox::NoIcon,QString::fromLocal8Bit("关于本程序"),QString::fromLocal8Bit(
            "关于。"),QMessageBox::Ok);
    message.setWindowIcon(QIcon("../pict/logo.png"));
    message.setIconPixmap(QPixmap("../pict/some.png"));
    message.exec();

但是在4.7中为什么就显示不出来呢?我已经将pict分别放入project和project-build-desktop文件夹下了。
离线yzpdsg

只看该作者 1楼 发表于: 2011-03-23
已解决。将图片加入qrc文件后这样设置:
    message.setIconPixmap(QPixmap("pict/logo.png"));//前面没有冒号!!!网上一堆示例都是有冒号的,害得我卡了很久,有木有!!!坑爹啊!!!

注:我的平台是windows,因此Linux下需不需要冒号我不太清楚。
离线dbzhang800

只看该作者 2楼 发表于: 2011-03-23
引用第1楼yzpdsg于2011-03-23 10:01发表的  :
已解决。将图片加入qrc文件后这样设置:
    message.setIconPixmap(QPixmap("pict/logo.png"));//前面没有冒号!!!网上一堆示例都是有冒号的,害得我卡了很久,有木有!!!坑爹啊!!!
注:我的平台是windows,因此Linux下需不需要冒号我不太清楚。

呵呵呵,其实你并没有真正解决问题
离线flybabys

只看该作者 3楼 发表于: 2011-03-24
回 1楼(yzpdsg) 的帖子
带有冒号的是指引用资源文件里的图标,而不是本地文件夹里的图标,这和windows或者linux无关
使用资源文件的方式可以使程序整个打包,也不会丢失任何图标
离线yzpdsg

只看该作者 4楼 发表于: 2011-03-26
回 3楼(flybabys) 的帖子
我改成    message.setWindowIcon(QIcon(":/pict/logo.png"));
死活显示不了图片啊~
离线yzpdsg

只看该作者 5楼 发表于: 2011-03-26
回 3楼(flybabys) 的帖子
哎。。。又骨骼了半天,终于解决了!!!我用qt creator添加的图片,因此需要加上自动生成的前准/new/prefix1。在这里卡了巨久,有木有!!!坑爹啊!!!
离线roywillow

只看该作者 6楼 发表于: 2011-03-26
回 5楼(yzpdsg) 的帖子
我一向都是把那个自动生成的前缀删掉后再添加资源文件……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线fans_run
只看该作者 7楼 发表于: 2011-06-25
为什么,我的也不行啊,我也是把那个自动生成的前缀删掉后再添加资源文件
离线XChinux

只看该作者 8楼 发表于: 2011-06-25
资源文件自己VIM编辑也很简单快捷的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zzjin

只看该作者 9楼 发表于: 2011-06-26
qrc文件随便找个编辑器打开看看.也都是文本文件的xml类似的格式的.自己写也方便= =~
离线bmy001
只看该作者 10楼 发表于: 2011-06-27
我记得显示本地图片不需要加冒号啊
我只是一个高一的学生,如有弱智问题,请大家谅解。
快速回复
限100 字节
 
上一个 下一个