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

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

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


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