异形窗口
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
setWindowFlags(Qt::FramelessWindowHint); // 设置窗口无边框
setAttribute(Qt::WA_TranslucentBackground, true); // 设置窗口半透明
setFixedSize(336, 252);
}
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setRenderHints(QPainter::SmoothPixmapTransform, true);
painter.drawPixmap(rect(), QPixmap("background.png"));
}
实现效果,黑色为桌面:
异形按钮
QPushButton *btn = new QPushButton(this);
btn->setMask(QPixmap("btn.png").mask());
btn->setStyleSheet("background: