必威体育Betway必威体育官网
当前位置:首页 > IT技术

【Qt】设置窗口透明度

时间:2019-09-29 19:45:43来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

透明度

1、使用setWindowOpacity设置透明度

setWindowOpacity(0.5);

设置完成会使窗体、标题栏、子控件都透明

在这里插入图片描述

2、使用样式表qss设置窗体透明

 dlg->setStyleSheet("QDialog{background-color: rgba(255, 0, 0, 0.5);}");
 wgt->setStyleSheet("QWidget{background-color: rgba(255, 0, 0, 0.5);}");
 frm->setStyleSheet("QFrame{background-color: rgba(255, 0, 0, 0.5);}");

其中0.5表示透明度,0表示全透明、1表示不透明;

也可以使用百分百表示如: frm->setStyleSheet(“QFrame{background-color: rgba(255, 0, 0, 50%);}”);

效果如下图,如果空间是单独的窗口,比如主窗口(QWidget)、弹出窗口(QDialog)不能透视出下层的窗口;

在窗口中布局的控件(如QWidget、QFrame)可以透视出父控件;

在这里插入图片描述

如果将透明度设置为0,效果图如下,透视出的是窗口的底色黑色;

哪位大神有解决方法,还请告知!

this->setStyleSheet("QWidget{background-color: rgba(255, 0, 0, 0);}");
 dlg->setStyleSheet("QDialog{background-color: rgba(255, 0, 0, 0);}");
 wgt->setStyleSheet("QWidget{background-color: rgba(255, 0, 0, 0.5);}");
 frm->setStyleSheet("QFrame{background-color: rgba(255, 0, 0, 0.5);}");

在这里插入图片描述

3、使用 paintEvent 绘图事件

 setAttribute(Qt::WA_TranslucentBackground, true);
 QPainter painter(this);
 painter.fillrect(this->rect(), QColor(255, 255, 0, 200)); 

QColor(255, 255, 0, 200)中200代表透明度,值从0~255

效果图如下,标题栏和子控件没有透明

在这里插入图片描述

相关阅读

什么是QT刷单平台

什么是QT刷单平台?所谓的QT刷单平台,即是用QT语音作为平台来做淘宝刷单,通常他们会先把卖家和刷客聚集在一起,然后通过一些自定义的规

QT刷单平台流程新手扫盲

QT刷单平台上的兼职对于新手来说存在一定难度,小编也曾经做过兼职刷手,第一嘛!总是紧张的,怕做错步骤、操作不当等,熟练后发现几乎所有

win10系统QT语音玩LOL游戏时队友听不到声音的解决办法

有用户反馈,windows10系统中玩LOL游戏时,发现使用QT语音跟队友聊天,队友听不见声音的问题,怎么回事呢?如果对方电脑与设置没有问题的

QT学习---使用多线程的两种方法(子类化QThread+子类化Q

第一种方法:摘要Qt多线程方法1 继承QThread1写一个继承于QThread的线程2 QThread的几个函数quitexitterminate函数3 正确的终止一

【QT】关于Qt::WA_DeleteOnClose的使用问题

今天在解决软件bug的过程中,注意到QT关于[slot] bool QWidget::close()有这样一段说明: If the widget has the Qt::WA_DeleteOnClo

分享到:

栏目导航

推荐阅读

热门阅读