最近在做畢業設計,上位機軟件用的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,就可以發現運行之后的窗體確實加入了圖片:

