设置了透明以后,会有严重残影
设置了透明以后,会有严重残影
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"
这样视觉上也是透明的,但是实际上不是完全透明
然后鼠标事件就正常接收了