qt设置无窗体圆角窗口

来源:互联网 发布:黄金投资 知乎 编辑:程序博客网 时间:2024/05/17 02:26
/*
    设置用户界面
*/
void MainWindow::SetUI()
{
    this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);//设置窗口类型
    this->setStyleSheet("background:back");//设置窗口样式
}
void MainWindow::paintEvent(QPaintEvent *)
{
    
/*<设置窗口圆角*/
    //生成一张位图
    QBitmap objBitmap(size());
    //QPainter用于在位图上绘画
    QPainter painter(&objBitmap);
    //填充位图矩形框(用白色填充)
    painter.fillRect(rect(),Qt::white);
    painter.setBrush(QColor(0,0,0));
    //在位图上画圆角矩形(用黑色填充)
    painter.drawRoundedRect(this->rect(),5,5);
    //使用setmask过滤即可
    setMask(objBitmap);
    /*设置窗口圆角>*/
}
0 0