一些代码说明
设置窗口置顶,并去掉窗框
setWindowFlags(Qt::FramelessWindowHint |Qt::WindowStaysOnTopHint|Qt::Tool);
设置透明色
setAttribute(Qt::WA_TranslucentBackground);
固定大小
this->setFixedSize(QPixmap(":/img/test.jpeg").size());
绘制
QPainter p(this);
p.setRenderHint(QPainter::SmoothPixmapTransform);
p.drawPixmap(this->rect(),QPixmap(":/img/test.jpeg"));
完整代码
IrregularWgt::IrregularWgt(QWidget *parent)
: QWidget{parent}
{
setWindowFlags(Qt::FramelessWindowHint |Qt::WindowStaysOnTopHint|Qt::Tool);
setAttribute(Qt::WA_TranslucentBackground);
this->setFixedSize(QPixmap(":/img/test.jpeg").size());
}
void IrregularWgt::paintEvent(QPaintEvent *)
{
QPainter p(this);
p.setRenderHint(QPainter::SmoothPixmapTransform);
p.drawPixmap(this->rect(),QPixmap(":/img/test.jpeg"));
}
效果
无规则置顶窗体