1. 在构造函数中:
setWindowFlags(Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);
2. 在paintEvent()中:
QPixmap pixmapTop("xxx.xxx"); //xxx是背景图片(可以是圆角的)
pixmapTop.setMask(pixmapTop.createHeuristicMask()); //将pixmap空白部分删去
int alpha = 160; //整个窗体的透明度
QPainter p(this);
p.drawPixmap(0, 0, pixmapTop);
p.setCompositionMode(QPainter::CompositionMode_DestinationIn); //设置图片的混合模式,具体参数选择可以参照 //qtdemo中的painting
p.fillRect(0, 0, width(), height(), QColor(0, 0, 0, alpha));