设置了透明以后,会有严重残影

设置了透明以后,会有严重残影
Qt::NoDropShadowWindowHint
加上这个就可以了
我最后从Qt的源码中找到了答案
MaskWidget *MaskWidget::self = 0;
MaskWidget::MaskWidget(QWidget *parent) : QWidget(parent)
{
mainWidget = 0;
setOpacity(0.7);
setBgColor(QColor(0, 0, 0));

this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);

//绑定全局事件,过滤弹窗窗体进行处理
qApp->installEventFilter(this);
}

Jason:

对了。。我想起来了,上次是看有人说
Qt的程序,如果做完全透明的,就可能会出错
就是说QtWidgets
我自己是没试过
然后解决方法是给所有像素,这是一个最低的透明度,比如说
"#01000000"
这样视觉上也是透明的,但是实际上不是完全透明
然后鼠标事件就正常接收了

 

posted @ 2017-02-17 19:23  findumars  Views(2173)  Comments(0Edit  收藏  举报