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);
相关推荐
吴梓穆11 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
V---scwantop---信12 小时前
英文字体:大胆都市街头Y2Y涂鸦风格品牌海报专辑封面服装字体 Chrome TM – Graffiti Font
笔记·字体
Moonnnn.12 小时前
运算放大器(四)滤波电路(滤波器)
笔记·学习·硬件工程
吴梓穆12 小时前
UE5学习笔记 FPS游戏制作37 蓝图函数库 自己定义公共方法
笔记·学习·ue5
吴梓穆12 小时前
UE5学习笔记 FPS游戏制作41 世界模式显示UI
笔记·学习·ue5
s_little_monster13 小时前
【Linux】进程信号的捕捉处理
linux·运维·服务器·经验分享·笔记·学习·学习方法
RedMery14 小时前
论文阅读笔记:Denoising Diffusion Implicit Models (4)
论文阅读·笔记
go_bai14 小时前
Linux环境基础开发工具——(2)vim
linux·开发语言·经验分享·笔记·vim·学习方法
吴梓穆14 小时前
UE5学习笔记 FPS游戏制作35 使用.csv配置文件
笔记·学习·ue5
100分题库小程序14 小时前
2025年机动车授权签字人考试判断题分享
经验分享·笔记