最简单的无边框窗口添加阴影效果方法,3行代码
主窗口QMainWindow添加阴影:
setWindowFlags(Qt::FramelessWindowHint | Qt::ToolTip);
SetWindowPos(this->winId(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
SetWindowLong(this->winId(), GWL_EXSTYLE, WS_EX_APPWINDOW);
子窗口QDialog添加阴影
setWindowFlags(Qt::FramelessWindowHint | Qt::ToolTip);
SetWindowPos(this->winId(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
当然阴影效果不能自定义,但毕竟是最简单的方法了,而且完全不影响样式表里设置的皮肤背景。