1. 直接设置样式 setStyleSheet("border:5px solid red;border-radius:10px")
2. this->setAttribute(Qt::WA_TranslucentBackground);//设置窗口背景透明
this->setWindowFlags(Qt::FramelessWindowHint); //设置无边框窗口
void SystemWarnDialog::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
painter.setBrush(QBrush(Qt::gray));
painter.setPen(Qt::transparent);
QRect rect = this->rect();
rect.setWidth(rect.width() - 1);
rect.setHeight(rect.height() - 1);
painter.drawRoundedRect(rect, 15, 15);//也可用QPainterPath 绘制代替
// painter.drawRoundedRect(rect, 15, 15);
// {
// QPainterPath painterPath;
// painterPath.addRoundedRect(rect, 15, 15);
// p.drawPath(painterPath);
// }
QWidget::paintEvent(event);
}