同样设置
this->setAttribute(Qt::WA_TranslucentBackground);
Win10:
Qt官方文档是这样解释的,
指示小部件应该具有透明的背景,也就是说,小部件的任何非透明区域都将是透明的,因为小部件将具有一个alpha通道。设置这个标志会导致WA_NoSystemBackground被设置。在Windows上这个小部件还需要Qt::FramelessWindowHint窗口标志被设置。这个标志由小部件的作者设置或清除。
也就是说还需要设置
this->setWindowFlag(Qt::FramelessWindowHint );
linux:例如深度系统,可能是因为没有开启窗口特效导致的,需要手动开启,深度开启窗口特效的快捷键是 win+shift+tab键