读书人

有不用Qt:WA_TranslucentBackground属

发布时间: 2012-03-09 16:54:57 作者: rapoo

有不用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);


我测试啦下 怎么是全黑的呢

读书人网 >QT开发

热点推荐