QT软件开发: QWidget窗口绘制圆角

简介: QT软件开发: QWidget窗口绘制圆角

一、运行效果

image.png

 二、核心代码

class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
protected:
    void paintEvent(QPaintEvent *p);
    .................
}
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //隐藏标题栏
    setWindowFlags(Qt::FramelessWindowHint);//无边框 置顶
    //设置窗口背景透明
    setAttribute(Qt::WA_TranslucentBackground);
    //设置样式
    this->setStyleSheet("#Widget{background-color: rgba(255, 0, 0, 150);}");
}
void Widget::paintEvent(QPaintEvent *p1)
{
    //绘制样式
    QStyleOption opt;
    opt.initFrom(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);//绘制样式
    QBitmap bmp(this->size());
    bmp.fill();
    QPainter painter(&bmp);
    painter.setPen(Qt::NoPen);
    painter.setBrush(Qt::black);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.drawRoundedRect(bmp.rect(), 12, 12);
    setMask(bmp);
}


目录
相关文章
|
2月前
|
算法 API C++
【Qt UI】QT 窗口/控件置顶方法详解
【Qt UI】QT 窗口/控件置顶方法详解
56 0
|
4月前
Qt 布局管理之 停靠窗口QDockWidget
Qt 布局管理之 停靠窗口QDockWidget
74 0
|
4月前
Qt 布局管理之分割窗口
Qt 布局管理之分割窗口
35 0
|
6月前
08 QT - Qt窗口坐标体系
08 QT - Qt窗口坐标体系
24 0
|
7月前
|
前端开发 数据可视化 C++
Qt 之 QWidget QLabel
Qt 之 QWidget QLabel
46 0
|
21天前
|
XML API 数据格式
【Qt 学习笔记】QWidget的enable属性 | API的介绍
【Qt 学习笔记】QWidget的enable属性 | API的介绍
26 0
|
1月前
QT取消标题栏,如何实现窗口移动
QT取消标题栏,如何实现窗口移动
|
2月前
|
测试技术 API UED
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
70 1
|
4月前
Qt 控件大小随着窗口的大小而变化设置
Qt 控件大小随着窗口的大小而变化设置
63 0
|
4月前
|
Linux
Qt实现多文档窗口
Qt实现多文档窗口

推荐镜像

更多