一、场景

在平常的开发过程中,我们常常会遇到需要设置Widget窗口背景图片透明度的方式。一般会有三种方式可以进行设置。

二、方式一(使用图形遮罩功能SetMask函数)

class BackGroundWidget01 : public QFrame
{Q_OBJECT
public:BackGroundWidget01();
};BackGroundWidget01::BackGroundWidget01()
{resize(800,600);QPixmap pixmap(":/images/xingkong01.jpg");QPalette palette;palette.setBrush(this->backgroundRole(),QBrush(pixmap));setPalette(palette);setMask(pixmap.mask());  //可以将图片中透明部分显示为透明的setAutoFillBackground(true);setWindowOpacity(0.9); //设置widget窗体透明度
}

三、方法二(使用paintEvent重绘事件)

class BackGroundWidget02 : public QFrame
{Q_OBJECT
public:BackGroundWidget02(QWidget *parent = 0);private:void paintEvent(QPaintEvent *event);private:};BackGroundWidget02::BackGroundWidget02(QWidget *parent):QFrame(parent)
{resize(800, 600);
}void BackGroundWidget02::paintEvent(QPaintEvent *event)
{Q_UNUSED(event);QPainter painter(this);painter.setOpacity(0.8);  //0.7painter.drawPixmap(rect(),QPixmap(":/images/xingkong01.jpg"), QRect());
}

四、方法三(使用setStyleSheet函数)

class BackGroundWidget03 : public QFrame
{Q_OBJECT
public:BackGroundWidget03();private:};BackGroundWidget03::BackGroundWidget03()
{setObjectName("myframe");setStyleSheet("QFrame#myframe{border-image:url(:/images/xingkong01.jpg)}");
}

本文原创作者:冯一川(ifeng12358@163.com),未经作者授权同意,请勿转载。

Qt 设置Widget背景图片并实现透明度的三种方式相关推荐

  1. python 图片和二进制转换的三种方式

    PIL格式转二进制 先读取为PIL格式,再转为二进制 import io import base64 from PIL import Imagedef image2byte(image):'''图片转 ...

  2. Qt 设置窗口背景图片的几种方法实例

    1.在paintEvent事件中绘制图片 void Widget::paintEvent(QPaintEvent * ev) {QPainter painter(this);painter.drawP ...

  3. Qt设置按钮背景图片,点击不显示背景

    Qt设置按钮为图片样式方法 资源中准备两张不同颜色的图片,qtcreator中右键按钮,选择Change styleSheet,输入如下代码: QPushButton{image: url(:/new ...

  4. html 如何改变图片形状,图形变换的三种方式是什么?

    图形变换的三种方式 1.平移 平移,是指在同一平面内,将一个图形上的所有点都按照某个直线方向做相同距离的移动,这样的图形运动叫做图形的平移运动,简称平移. 平移不改变图形的形状和大小.图形经过平移,对 ...

  5. Qt 设置窗口背景图片的几种方法

    1.在paintEvent事件中绘制图片 void Widget::paintEvent(QPaintEvent * ev) {QPainter painter(this);painter.drawP ...

  6. Qt设置按钮背景图片

    Qt有丰富的样式表,可以很方便的改变界面的风格,下面给出Qt按钮添加图片的方法,直接用setIcon的方法,图片会被缩放,下面的方法正常显示 //设置按钮图标,按钮的默认大小是 30*30,可以自己指 ...

  7. 图片拉伸的处理的三种方式

    纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设 ...

  8. c++ Qt 设置widget背景

    Qt 可以做什么? Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部:Qt 除了可以绘制漂亮的界面(包括控件.布局.交互),还包含很多其它功能,比如多线程.访问 ...

  9. css文字在图片下方_【HTML+CSS】文字和图片保持同一水平线的三种方式

    方式1.table-cell方式 方式2.flex方式 方式3.absolute方式 css . html < 最终效果 你有什么好的方式呢?欢迎留言

最新文章

  1. 用户、组的管理常用到的命令介绍
  2. ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题
  3. Configure NFS Server On AIX 6.1
  4. 皮一皮:你更想成为哪个身材...
  5. C++的几种遍历形式
  6. oracle取本月最后一天是星期几_Oracle取得本月、本年第一天和最后一天
  7. wxWidgets:wxDialUpManager类用法
  8. Linux的实际操作:文件目录类的实用指令(重定向“>“和追加“>>“)
  9. BGP——权重选路(讲解+配置命令)
  10. python如何导入numpy简书_如何使用python3.x成功导入numpy?
  11. JavaScript学习(六十七)—正则表达式学习总结
  12. javascript 本地存储(cookies、sessionStorage和localStorage解释及区别)
  13. LeetCode分类-前400题
  14. 基于VUE的酒店管理系统的设计与实现
  15. unity android判断是否横屏,android 强制设置横屏 判断是横屏还是竖屏
  16. 使用excel2007做聚光灯
  17. jenkins+maven+jmeter.修改jmeter.results.shanhe.me.xsl文件,显示响应信息,请求头等信息.
  18. C++学习心得:引用的详解
  19. COGS 2211. [BZOJ3653]谈笑风生
  20. 《网络基础学习之三》认识网线制作工具

热门文章

  1. Linux网络相关命令:netstat,ss
  2. ESP8266-Arduino编程实例-TMP102数字温度传感器驱动
  3. Android Architecture Components
  4. 移动端H5实现图片上传
  5. 2021-2027全球与中国EMI/EMC滤波器市场现状及未来发展趋势
  6. uni-app 页面跳转 方式
  7. RSA算法与维吉尼亚密码
  8. 山药多糖/香菇多糖/茯苓多糖/叶酸壳寡糖包封于PLGA纳米粒
  9. 通过本地客户端连接GoogleCloud的Linux虚拟机
  10. 中国常见空气质量数据标准汇总