问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

引用】转载:教你如何用Qt做透明的窗体,setMask,Qt,Opacity求答案

发布网友 发布时间:2023-01-20 04:44

我来回答

1个回答

热心网友 时间:2023-11-26 22:16

附件里是效果图。
Qt提供了setOpacity的函数,但是使用之后,窗体所有子控件都变成同样的透明色了。
这里我们利用setMask()函数,以QBitmap为参数,通过对QBitmap做精细的操作(关键在于QBitmap支持用painter直接在上面绘制),最终达到这样的效果:我们想要透明的地方变成透明,我们想要放置部件的地方变成非透明可见的。这样就达到了我们想要的效果。
具体实现的方法也很简单:如果你想在paintEvent里面绘制任何内容,也要同时在QBitmap上做绘制,前提是在QBitmap上绘制的时候画笔的rgb设置成QRgb(0,0,0)。
道理我已经讲明白了。大家可以自己把代码弄到自己的类里面实验一下。
例子中只是最简单的演示,按照这个思路我想可以做出更多更灵活的应用的,比如可以让窗体介于透明和非透明之间(这里需要准备一个对应的透明色的png图片,或者使用相应的Qt函数来做都行)。最关键的是这种方法下透明度的操作不会影响到子控件的。

热心网友 时间:2023-11-26 22:16

附件里是效果图。
Qt提供了setOpacity的函数,但是使用之后,窗体所有子控件都变成同样的透明色了。
这里我们利用setMask()函数,以QBitmap为参数,通过对QBitmap做精细的操作(关键在于QBitmap支持用painter直接在上面绘制),最终达到这样的效果:我们想要透明的地方变成透明,我们想要放置部件的地方变成非透明可见的。这样就达到了我们想要的效果。
具体实现的方法也很简单:如果你想在paintEvent里面绘制任何内容,也要同时在QBitmap上做绘制,前提是在QBitmap上绘制的时候画笔的rgb设置成QRgb(0,0,0)。
道理我已经讲明白了。大家可以自己把代码弄到自己的类里面实验一下。
例子中只是最简单的演示,按照这个思路我想可以做出更多更灵活的应用的,比如可以让窗体介于透明和非透明之间(这里需要准备一个对应的透明色的png图片,或者使用相应的Qt函数来做都行)。最关键的是这种方法下透明度的操作不会影响到子控件的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么退出夸克HD账号登录状态? 猫感冒了看兽医要多少钱 Pka 与 PH的区别及各自的应用领域 储干在公司是干什么的职位啊 2025数字博览会 岗位丨申万宏源证券研究所招聘实习生(可留用), 国海证券研究所+开源证 ... 用发酵粉蒸馒头如何蒸? 雷蛇现在的售后保修政策是怎样的有个鼠标双击了 安代驾好还是e代驾好 急需一篇科技小论文,六年级水平的`要快`谢谢啊`! 【解决】父元素opacity会覆盖子元素 硅藻棒发黄 硅藻土吸水棒受热出油 lf硅藻土吸湿棒含有石棉吗 云守护没有信号的地方会报警吗 野外夹子报警器没有网络会报警吗 谁能用would like to do sth造五个句子 关于经典搞笑句子,描写经典搞笑句子 电讯是什么意思 手机百庋是黑屏怎么办? H8型的步步高家教机怎么弄百庋 《百度手机助手》电脑版连接手机教程 我要看全职高手,求b站大会员,( ・᷄д・᷅ )谢谢 看完之后我用电脑清记录 全职高手系舟外套怎么买 求全职高手第三集 问题补充: 腾讯 B站 可看,腾讯会员可以提前观看一集 b站之前可以单独买一部番现在怎么不能买了 妄想山海酸辣烤鱼块怎么做 妄想山海酸辣烤鱼块怎么制做 关于session有效期的说法错误的是 快手爱情牛怎么合成 恐龙造句四年级 你也不过左手换右手是什么意思 河北三三四是指什么 筒子骨炖萝卜汤可以放鸡精吗 王者荣耀火焰山地图怎么玩?火焰山大战技巧 农村厨房要注意什么 农村房屋厨房位置的风水选择 为什么微信扫描二维码加不了好友。只有打招呼 怎样知道微信对方是否关闭了麦克风? 用施训造句(大约30个左右) 有那些蚊子 人体的温度是多少度? QQ网吧修改注册资料提示获取session失败怎么办 花小猪获取sessionld失败 用转氨酶造句(大约30个左右) 严加防范的范的意思 严加防范的范的意思是什么 处心积虑造句8个字 处心积虑造句子短一点 用扭断造句(大约30个左右) 词语造句:用拾取造句(约30个) 用拾取造句(大约30个左右)