构造函数里:
//设置无边界窗口并顶置
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
}