Bootstrap

Qt之窗口透明,绘画不透明

 构造函数里:

             //设置无边界窗口并顶置

             setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);

            //窗口设置透明

setAttribute(Qt::WA_TranslucentBackground,true);

          当QColor最后一位(第四位)没有设置值时,painter.fillRect为不透明的。和透明度为100,有些区别。

void Widget::paintEvent(QPaintEvent *event)

{

    QPainter painter(this);

#ifdef WIN32

    painter.fillRect(this->rect(), QColor(255, 255, 255, 1));

#else

    //mac电脑上需要将透明度设置为15,小于15鼠标控制画不上,15是临界值,是根据测试得来的,没有具体研究

    painter.fillRect(this->rect(), QColor(255, 255, 255, 15));

#endif

}
;