当前位置: 首页 > news >正文

Qt多边形填充/不填充绘制

 

1 填充多边形绘制形式 

void GraphicsPolygonItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{Q_UNUSED(option);Q_UNUSED(widget);//painter->setPen(pen());      // 设置默认画笔//painter->setBrush(brush());  // 设置默认画刷// 创建一个线性渐变的笔刷,// 不仅会根据设定的画笔(pen())绘制多边形的轮廓,还会使用当前设置的笔刷(即线性渐变)来填充多边形内部区域。QColor c = brushColor();QLinearGradient result(boundingRect().topLeft(), boundingRect().topRight());result.setColorAt(0, c.dark(150));result.setColorAt(0.5, c.light(200));result.setColorAt(1, c.dark(150));painter->setBrush(result);// 设置画笔并绘制多边形painter->setPen(pen());  // 默认画笔参数,绘制多边形边缘painter->drawPolygon(m_points);// 如果项被选中,绘制选中高亮效果if (option->state & QStyle::State_Selected)qt_graphicsItem_highlightSelected(this, painter, option);
}

 2 不填充

只通过画笔,绘制多边形轮廓

void GraphicsPolygonItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
{Q_UNUSED(option);Q_UNUSED(widget);// 创建一个红色的画笔,并设置线宽为1QPen pen;pen.setColor(Qt::red);pen.setWidth(1);// 设置画笔并绘制多边形painter->setPen(pen);painter->setBrush(Qt::NoBrush);  // 不填充painter->drawPolygon(m_points);// 如果项被选中,绘制选中高亮效果if (option->state & QStyle::State_Selected)qt_graphicsItem_highlightSelected(this, painter, option);
}

http://www.lryc.cn/news/479253.html

相关文章:

  • 数据结构-数组(稀疏矩阵转置)和广义表
  • Java中的远程方法调用——RPC详解
  • 【kafka】大数据编写kafka命令使用脚本,轻巧简洁实用kafka
  • 交换区(Swap Area或Swap Partition)
  • Excel 无法打开文件
  • MySQL —— Innodb 索引数据结构
  • 探索C语言数据类型
  • 凌晨官宣离婚,他们为何让老粉直呼天塌?
  • Spring Boot 导出 Excel 文件
  • HTTPSOK:SSL/TLS证书自动续期工具
  • Uniapp安装Pinia并持久化(Vue3)
  • 基于Dpabi和spm12的脑脊液(csf)分割和提取笔记
  • 【每日一题】2012考研数据结构 - 求字符串链表公共后缀
  • 数据结构和算法-贪心算法01- 认识贪心
  • Bash Shell - 获取日期、时间
  • runnable和callable区别和底层原理
  • Springboot 整合 Java DL4J 打造自然语言处理之语音识别系统
  • 虚幻引擎5(UE5)学习教程
  • 从0开始深度学习(26)——汇聚层/池化层
  • 兼职发薪系统:高效、便捷的劳务发薪解决方案
  • MySQL数据库单表查询习题
  • 多模态PaliGemma——Google推出的基于SigLIP和Gemma的视觉语言模型
  • 电路原理:电阻桥。
  • 实践出真知:MVEL表达式中for循环的坑
  • Flutter运行App时出现“Running Gradle task ‘assembleDebug“问题解决
  • 基于SSM(Spring + Spring MVC + MyBatis)框架的咖啡馆管理系统
  • 【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)
  • 计算机体系结构之系统吞吐量(三)
  • 高级 HarmonyOS主题课—— 帮助快速构建各种文本识别应用的课后习题
  • windows C#-异常和异常处理概述