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);

 

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

posted @ 2020-09-21 11:15  徐沛东  阅读(1344)  评论(0编辑  收藏  举报