网上找的几种设置透明度的方法,实验了以后,发现对于现在的程序来说,有些已经不能实现了,或许是我实现方式的问题,知道的还望告诉我一下!
1、设置窗体的背景色
在构造函数里添加代码,需要添加头文件qpalette或qgui
QPalette pal = palette();
pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));
setPalette(pal);
通过设置窗体的背景色来实现,将背景色设置为全透。
效果:
窗口整体透明,但窗口控件不透明,QLabel控件只是字显示,控件背景色透明;
窗体客户区完全透明。
没能实现,不管是将color改成用qRgba的方式还是直接设置颜色值,都不行,得到的结果都是黑底。
2、使用函数setAttribute(Qt::WA_TranslucentBackground, true);
同样在构造函数中,效果和第一种方法相同。
这种方式一直都行,可靠