Qt 窗体使用 label 标签插入静态图片

最近在做毕业设计,上位机软件用的Qt,界面当中需要加入学校校徽,结果百度了n多种方法,有用QPixmap的:

1     QPixmap myPix("./school.jpg");
2     ui->label_8->setPixmap(myPix);
3     ui->label_8->setScaledContents(true);
4     ui->label_8->show();

 有在Qt Creator使用label的属性窗口进行pixmap设置的,也有用下面方法的:

1 label->setStyleSheet("background-image:url(图片路径)");

试了之后都不行,后来没办法采用播放 gif 格式动态图片的方法,勉勉强强插入了静态图片:

1     QMovie *myMovie = new QMovie(".school.jpg");
2     ui->label_8->setMovie(myMovie);
3     ui->label_8->setScaledContents(true);
4     myMovie->start();

本以为这么糊弄糊弄插进去能看就行了,结果将源码拷贝到另一台电脑,又播放不出来了,这真蛋疼。。。于是又开始折腾,回想起当时在MFC中插入图片的方法,感觉Qt应该也可以试试看,没想到居然成功了。方法如下:
1.新建一个空的Qt图形界面工程,对话框或者是主窗口都行。

2.进到ui文件,拖一个label控件进去,然后点击file -> new file or projects选择如下:

      

  保存路径为本工程,名称随便写,我这里写了resources,然后下一步。

3.在工程管理窗口,会出现建立的Resources文件夹,也会默认进入添加资源窗口,看图:

       

  然后单击Add,选择Add Prefix,看图:

      

  可以吧Prefix后面的/new/prefix1改名,懒的话就不用改了,我比较懒,这里就不改了。然后再点击Add,这时候多了个Add Files,这里说下,最好把图片文件放到本工程下面,为了省事、方便嘛,你看,只要一点Add Files,就立马可以选择图片了,不用费事的另找,对吧,然后添加即可,看图:

      

   看图中就多了这么张图片,这时候最好点ctrl+s保存下,然后回到ui界面,找到label属性窗口,看图:

      

    从pixmap的右面小三角符号里选择choose resource,这时候会发现啥也没有。。。

      

    但东西我们确实加进去了,不信看工程管理目录。这里我退出选择资源窗口,然后编译下工程。然后再进来选择资源,就会发现确实进来了:

      

  选择上图片,点击Ok即可发现ui界面当中的label有图了,这时候的图的比例肯定不匀称,需要选中label属性当中pixmap下面的那个scaledcontents框,就可以发现图在ui界面被缩放了。。。

4.ctrl+R,就可以发现运行之后的窗体确实加入了图片:

    

原文地址:https://www.cnblogs.com/goodhx/p/6647658.html