QLabel 设置背景图片的方法和解决图片太大不能完显示的办法

摘要:
如何通过QLabel设置背景图像以及如何解决图像太大而无法显示的问题。如何通过QLabel设置背景图像以及如何解决图像太大而无法显示的问题。1.通过QPixmap设置方法。2.通过QSS设置方法。1.通过QPixmap设置方法//获得图像目录QDirdir(qApp-˃applicationDirPath());目录cd(“src”);//构建pixmapQPixmappixmap(QDir())。防抱死制动系统
QLabel 设置背景图片的方法和解决图片太大不能完显示办法

目录

1、通过QPixmap来设置

方法

// 获取到图片目录
QDir dir(qApp->applicationDirPath());
dir.cd("src");
// 构建pixmap
QPixmap pixmap(QDir().absoluteFilePath("Title.png"));
// 设置pixmap
ui.title_label->setPixmap(pixmap);

注意

通过上面的的设置效果如下:
QLabel 设置背景图片的方法和解决图片太大不能完显示的办法第1张
发现图片太大,没有完全显示
这时候就需要对图片做一些处理,加上一行代码:pixmap = pixmap.scaled(ui.title_label->size())
这是构建好pixmap之后直接设置pixmap的比例为Label的大小,第二个参数默认即可:Qt::IgnoreAspectRatio
官方解释:
QLabel 设置背景图片的方法和解决图片太大不能完显示的办法第2张
所以完整代码应该是

// 获取到图片目录
QDir dir(qApp->applicationDirPath());
dir.cd("src");
// 构建pixmap
QPixmap pixmap(QDir().absoluteFilePath("Title.png"));
// 设置pixmap比例
pixmap = pixmap.scaled(ui.title_label->size());
// 将pixmap设置到label
ui.title_label->setPixmap(pixmap);

效果:
QLabel 设置背景图片的方法和解决图片太大不能完显示的办法第3张

2、通过QSS设置

方法

ui.title_label->setStyleSheet(
      "QLabel#title_label {"
      "background-image: url(""./src/Title.png"");"
      });

注意

通过上面的的设置效果如下:
QLabel 设置背景图片的方法和解决图片太大不能完显示的办法第4张
还是出现图片太大不能完全显示的的问题,查找相关资源发现,设置Qss的时候要注意Qt的盒子模型
QLabel 设置背景图片的方法和解决图片太大不能完显示的办法第5张
于是将background-image改为border-image:

ui.title_label->setStyleSheet(
      "QLabel#title_label {"
      "border-image: url(""./src/Title.png"");"
      });

具体可以参考:https://www.freesion.com/article/3632850648/
改完之后,最后效果:
QLabel 设置背景图片的方法和解决图片太大不能完显示的办法第6张

免责声明:文章转载自《QLabel 设置背景图片的方法和解决图片太大不能完显示的办法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux下源码安装xz的方法JS 富文本编码、解码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

将Kafka收到的数据传入到redis中

首先,配置配置。在属性测试中,首先启动网络管理系统(GateWay),然后启动终端(TBox),然后运行KafkaTest启动TBox。在启动测试中可以看到收到的数据。然后关键是sdf,然后去你的xshell启动动物园管理员、kafka和redis...

更改nexus的工作目录

默认情况下,nexus的工作目录位于${user_home}/sonatype工作目录中。在Linux中,如果用户是root用户,则使用/root/sonatype。这便于通过war将nexus安装到servlet容器中,但不利于服务器的集中管理。这需要更改默认的nexus工作目录位置。为了方便管理,您可以选择使用环境变量。...

Notepad++正则表达式查找替换文本中文字符

测试需求测试工具中xml配置文件中的注释字段包含中文字符。Win10系统中使用的工具中偶尔会出现中文乱码,导致配置文件无效。解决方案是将配置文件中的中文注释替换为英文注释,或者直接替换和删除。如何查找和删除配置文件中的汉字?“记事本”中使用正则表达式[^x00 xff]来匹配汉字。替换完成如下3。所有汉字已被替换。...

js Base64与字符串互转

1、base64加密在页面中引入base64.js文件,调用方法为:˂!...

Json对象转Ts类

其次,Json是一种轻量级的数据交换格式。在前端和后端之间的数据交互过程中,后端接口返回Json格式的数据,前端需要使用相应的Ts类对象来接收它。此时,如果后端提供样本数据或现有接口返回的Json格式数据,是否有方法帮助我们从Json格式数据生成Ts类?介绍了三个主要功能。1.查看Json对应的Ts类,将要格式化的Json字符串复制粘贴到中间编辑区域。单击右...

Makefile系列之三 : 变量

第二个语法是针对于make命令行带入的变量,或是系统环境变量。...