Qt关于实现自定义标题栏/窗口时遇到的背景透明化无效问题
一、实现窗口背景透明
默认的窗口样式大家都已习以为常了,令人难免会有自绘窗口的冲动。
而想要自绘样式的朋友可能会有将窗口背景进行透明化设置的风格需求,比如:
经过一番百度博文的搜索也能找到实现方法,即在主窗口的构造函数中(或者你自己定义的界面初始化函数里)写上下面这句:
this->setAttribute(Qt::WA_TranslucentBackground, true);
没错,这样的的确确可以使窗口透明,但现在往往看到的是下面这种情况:
会发现窗口内一片黢黑,说好的透明呢?其实,它确实是透明了,不信可以试着改变一下透明度,会发现你要设定的颜色若隐若现。下面我于重写的paintEvent(QPaintEvent *event)函数里用画刷QBrush进行填充