故事背景:由于要做終端定制的需求,在服務端上傳一張128像素的圖片,下發給客戶端,適配所有圖示(界面左上角、任務欄、快捷方式、托盤等),但是由于每個位置的圖示大小不一樣,代碼要根據本身控制元件的大小做一個適配,開始我們的探險之路,,,,,,
解決方案:主要解決界面左上角16像素的適配,這里我用了三種方案,供大家參考
1、pTmpLogo->setStyleSheet("border-image:url(/home/xxx/Desktop/16-128-256/b128.png)");,這種方式圖片會失真,不能用,放棄
2、這種連寫的方式也不生效,所以也給大家一個建議,以后遇到類似的操作,盡量分開寫,不要連著寫!!!!!!
pTmpLogo->setPixmap(QPixmap("/home/xupeidong/Desktop/16-128-256/b128.png").scaled(16,16)); pTmpLogo->setScaledContents(true);
3、這是最合理的方式,希望大家借鑒
QPixmap pix(CommonInterface::m_strIcoPath); pix.scaled(QSize(16,16), Qt::KeepAspectRatio); m_pLabelLogo->setPixmap(pix); m_pLabelLogo->setScaledContents(true);
如果大家有更好的方法或者其他類似的可以在評論區分享出來,一起學習一起進步,分享給更多的人,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/97406.html
標籤:C++
