当前位置: 代码迷 >> QT开发 >> 有不用Qt:WA_TranslucentBackground属性而使窗体背景透明的方法吗?该怎么解决
  详细解决方案

有不用Qt:WA_TranslucentBackground属性而使窗体背景透明的方法吗?该怎么解决

热度:342   发布时间:2016-04-25 05:10:46.0
有不用Qt::WA_TranslucentBackground属性而使窗体背景透明的方法吗?
用Qt::WA_TranslucentBackground可以使窗体透明,但似乎会带来一些副作用,比如最小化后还原对话框,子控件的焦点会出现问题,还有,vlc视频控件也无法在透明背景的窗体上正常播放。有没有不使用Qt::WA_TranslucentBackground,却也能达到背景透明而控件不透明的效果呢?

------解决方案--------------------
C/C++ code
    QPalette pal = palette();    pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));    setPalette(pal);
------解决方案--------------------
QColor(0x00,0xff,0x00,0x00));
最后一个参数是透明度,可以自己设置
------解决方案--------------------
我怎么没发现Qt::WA_TranslucentBackground有这个瑕疵?
------解决方案--------------------
QPalette pal = palette(); 
pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); 
setPalette(pal);


 我测试啦下 怎么是全黑的呢
  相关解决方案