时间:2024-10-07 03:01:04
QT实现背景图片多种填充方式:居中、平铺、缩放、拉伸
在网上查,基本上都在说明QT设置背景颜色、图片的三种方式: setStyleSheet 、QPalette、paintEvent。在这里我不作过多用法说明,而针对我的需求,说下这几种方法:
1. 使用setStyleSheet。背景颜色和背景图片可以同时设置(background-color、background-image),存在以下行为:图片路径无法正确解析时,只显示背景颜色;图片可以解析时,按设置方式显示图片,而在图片范围外显示背景颜色。 默认的图片显示位置为左上角,填充方式是平铺 。这两个可以通过background-position、background-repeat来调整。
2. 使用画板 QPalette。这种方式是通过给QPalette设置QBrush画刷来设置背景的,最有用的地方在于它可以设置QPixmap,使得背景图片可以按照我们想要的大小进行变化,可以轻松实现”拉伸”方式。
3. 重写paintEvent方法。这种方法是最灵活的,可以按照自己想要的任何方式描绘背景。可以实现“居中”、“平铺”、“缩放”、“拉伸”。
科技之家 广州小漏斗信息技术有限公司 版权所有 提供支持 粤ICP备20006251号