QWS透明后鼠标移动出现阴影现象解决办法

来源:互联网 发布:采购流程优化 编辑:程序博客网 时间:2024/05/16 14:07

    现象

    QWS背景透明了以后就会出现鼠标移动会有阴影现象,测试代码如下

#include <QApplication>#include <QDialog>#include <QWSServer>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QDialog dialog;    QWSServer::setBackground(QColor(0, 0, 0, 0));    dialog.setStyleSheet("background-color:transparent;");    dialog.show();    return a.exec();}

 效果如下:

可以看到,移动鼠标会出现阴影现象,并且鼠标感觉也不是标准的鼠标,就像是一个正方形


解决办法:

隐藏QWSServer鼠标,方法如下

#include <QApplication>#include <QDialog>#include <QWSServer>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QDialog dialog;    QWSServer::setBackground(QColor(0, 0, 0, 0));    QWSServer::setCursorVisible(FALSE);    dialog.setStyleSheet("background-color:transparent;");    dialog.show();    return a.exec();}

现在就可以看到鼠标移动非常的干净,不会有什没阴影


原因分析:

       出现这种显现,我估计是QWSServer,即QT服务器也有一个鼠标cursor,因此会出现阴影现象