//widget类构造函数
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
//setAutoFillBackground(true);
auto p = palette();
p.setColor(QPalette::Window, Qt::black);
setPalette(p);
此时设置背景颜色是无效的,背景为透明色。
添加
setAutoFillBackground(true);
后背景色可以正常显示。
以下为QT文档解释:
//widget类构造函数
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
setAutoFillBackground(true);
auto p = palette();
p.setColor(QPalette::Window, Qt::black);
setPalette(p);
此问题困扰了我一天才解决,故此留记,希望可以帮助遇到相同问题的人