通过以下代码设置QWidget背景颜色
setAutoFillBackground(true);
QPalette pal = palette();
pal.setColor(QPalette::Background,Qt::transparent);
setPalette(pal);
结果显示为黑色
解决办法是再加两行代码:
setWindowOpacity(1);
setAttribute(Qt::WA_TranslucentBackground);
本文介绍如何在Qt中设置QWidget的背景颜色为透明,并解决透明背景显示为黑色的问题。通过使用setAutoFillBackground,QPalette及setAttribute方法,实现完全透明效果。
通过以下代码设置QWidget背景颜色
setAutoFillBackground(true);
QPalette pal = palette();
pal.setColor(QPalette::Background,Qt::transparent);
setPalette(pal);
结果显示为黑色
解决办法是再加两行代码:
setWindowOpacity(1);
setAttribute(Qt::WA_TranslucentBackground);
1031
1192