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);
相关推荐
Ahtacca40 分钟前
Linux环境下前后端分离项目(Spring Boot + Vue)手动部署全流程指南
linux·运维·服务器·vue.js·spring boot·笔记
polarislove02142 小时前
9.6 [定时器]超声波测距实验-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
chushiyunen2 小时前
快慢双指针算法笔记
数据结构·笔记·算法
临风小红楼2 小时前
别了2025,你好2026
笔记
laplace01233 小时前
Part 3:模型调用、记忆管理与工具调用流程(LangChain 1.0)笔记(Markdown)
开发语言·人工智能·笔记·python·langchain·prompt
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [fs]open
linux·笔记·学习
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [fs]nsfs
linux·笔记·学习
手揽回忆怎么睡4 小时前
Streamlit学习笔记2
笔记·学习
阿豪只会阿巴5 小时前
【多喝热水系列】从零开始的ROS2之旅——Day4
c++·笔记·python·ros2
charlie1145141915 小时前
FreeRTOS:软件定时器(Software Timers)与时间管理
开发语言·笔记·学习·freertos·实时操作系统·工程