博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使QScrollArea的背景透明,并且不影响子控件
阅读量:4965 次
发布时间:2019-06-12

本文共 638 字,大约阅读时间需要 2 分钟。

使QScrollArea的背景透明,乍看很easy,其实却是一个目前百度上百不出来的问题;

最容易想到的,用qss:

scrollArea->setStyleSheet("background-color:transparent;");

但是这样会使scrollArea所包含的所有子控件的背景也变成透明,大大不妥啊。。。

 

然后:

scrollArea->setStyleSheet("QScrollArea {background-color:transparent;}")

这个居然无效,大跌眼镜。。。

 

然后百度,有人问,没人答,再谷歌,靠,被墙了。。。

那么,看QT源码吧,找到QScrollArea他爹QAbstractScrollArea。。。

有发现,QWidget *viewport()。。。就是这个挡路的子控件惹的事了,

挡路的家伙,需要修理。。。这个是public的,再对这个设置一下qss就行了

所以,最后的解决办法是2步,按顺序来:

1:scrollArea->setStyleSheet("QScrollArea {background-color:transparent;}")

2:scrollArea->viewport()->setStyleSheet("background-color:transparent;");

 好了,全透了,清爽了。

转载于:https://www.cnblogs.com/falqs/p/3805003.html

你可能感兴趣的文章
利用sed把一行的文本文件改成每句一行
查看>>
Android应用开发:核心技术解析与最佳实践pdf
查看>>
python——爬虫
查看>>
孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库
查看>>
求一个字符串中最长回文子串的长度(承接上一个题目)
查看>>
简单权限管理系统原理浅析
查看>>
springIOC第一个课堂案例的实现
查看>>
求输入成绩的平均分
查看>>
php PDO (转载)
查看>>
wordpress自动截取文章摘要代码
查看>>
[置顶] 一名优秀的程序设计师是如何管理知识的?
查看>>
scanf和gets
查看>>
highcharts 图表实例
查看>>
ubuntu下如何查看用户登录及系统授权相关信息
查看>>
秋季学期学习总结
查看>>
SpringBoot 优化内嵌的Tomcat
查看>>
【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>
PL/SQL Developer 查询的数据有乱码或者where 字段名=字段值 查不出来数据
查看>>