QT笔记 - QPainter 填充环形区域(甜甜圈)

矩形为例:

cpp 复制代码
    QPainter painter(this);
    // painter.setPen(Qt::blue);
    // painter.setFont(QFont("Arial",30));
    // painter.drawText(rect(),Qt::AlignCenter,"Hello Qt!!!");

    QRect rect = QRect(50, 50, 400, 400);
    QRect box = QRect(100, 100, 105, 63);
    QColor maskColor(255, 0, 0, 255);
    QColor fontColor(0, 139, 139, 255  );

    QPainterPath path;
    path.addRect(rect);//添加路径
    path.addRect(box); //添加路径
    QPainterPath subRect;
    subRect.addRect(box);
    path.subtracted(subRect);//减去路径及其所包含的区域

    painter.fillRect(box,fontColor);
    painter.fillPath(path, maskColor);
相关推荐
C羊驼几秒前
C语言学习笔记(十五):预处理
c语言·经验分享·笔记·学习·算法
不会聊天真君6476 分钟前
基础语法·中(golang笔记第二期)
开发语言·笔记·golang
态态态10 分钟前
平板PDF充足笔记空间的最优解
笔记·pdf
左左右右左右摇晃2 小时前
Java笔记——IO
java·开发语言·笔记
kinl20183 小时前
cs2385_note1 (lec6-lec8)
笔记
中屹指纹浏览器4 小时前
2026住宅IP网络环境下指纹浏览器稳定性优化与工程实践
经验分享·笔记
云边散步4 小时前
godot2D游戏教程系列二(20)
笔记·学习·音视频
年纪青青4 小时前
NanoPi Neo移植笔记(U-Boot v2025.10 + Linux Kernel 6.18 + Ubuntu 24.04 根文件系统)
linux·笔记·ubuntu·nanopi neo·linux镜像
pq113_65 小时前
开源软件学习笔记 - nanoModbus
笔记·学习·nanomodbus