QLabel图片自适应


故事背景:由于要做终端定制的需求,在服务端上传一张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);

 

如果大家有更好的方法或者其他类似的可以在评论区分享出来,一起学习一起进步,分享给更多的人。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM