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

桐城市建设局网站百度关键词优化技巧

桐城市建设局网站,百度关键词优化技巧,网站管理与建设试题,永久免费的网站服务器有哪些平台前言:本篇文章的内容十分琐碎,所以内容会以描述各种函数接口为主 一、绘图基础框架 void Widget::paintEvent(QPaintEvent *event) {QPainter painter(this); // 自动开始绘制// 绘图操作... } // 自动结束绘制 二、核心绘图功能 1. 基础图形绘制 图…

前言:本篇文章的内容十分琐碎,所以内容会以描述各种函数接口为主

一、绘图基础框架

void Widget::paintEvent(QPaintEvent *event) {QPainter painter(this); // 自动开始绘制// 绘图操作...
} // 自动结束绘制

二、核心绘图功能

1. 基础图形绘制

图形类型关键 API参数说明代码示例
矩形drawRect(QRect)左上角坐标 + 宽高painter.drawRect(QRect(50,50,200,300))
圆角矩形drawRoundedRect(QRect, xr, yr)xr/yr = 圆角半径(单位:像素)painter.drawRoundedRect(rect, 20, 20)
椭圆drawEllipse(QRect)基于矩形边界绘制内切椭圆painter.drawEllipse(rect)
直线drawLine(QLine)起点+终点坐标painter.drawLine(QLine(100,100,200,200))

2. 复杂图形 

图形类型关键 API特性示例
圆弧drawArc(QRect, angle, span)角度单位:1° = 16单位painter.drawArc(rect, 0 * 16, -90 * 16)
drawChord(QRect, angle, span)连接弧线端点的封闭图形painter.drawChord(rect, 0 * 16, -90 * 16)
扇形drawPie(QRect, angle, span)自动连接圆心painter.drawPie(rect, 0, 120 * 16)

3. 多边形绘制 

QPoint points[4] = {{40,500}, {110,100}, {10,400}, {300,100}};// 凸多边形(高效)
painter.drawConvexPolygon(points, 4);// 普通多边形(自动处理凹多边形)
painter.drawPolygon(points, 4);

4. 路径绘制(QPainterPath)

QPainterPath path;
path.addRect(rect);         // 添加矩形路径
path.addEllipse(rect);      // 添加椭圆路径
painter.drawPath(path);     // 绘制组合路径

5. 图像与文字

功能API注意事项

绘制图片

drawImage(QRect, QImage)支持 PNG/JPG 格式
绘制文字drawText(QRect, QString)需先设置 QFont
擦除区域eraseRect(QRect)实际效果=用背景色填充
完整文字设置示例
QFont font;
font.setFamily("宋体");
font.setPointSize(30);
font.setBold(true);
font.setItalic(true);
painter.setFont(font);
painter.drawText(rect, "德先生666");

6. 填充与样式控制 

// 画笔设置(轮廓)
QPen pen;
pen.setWidth(4);                  // 线宽(像素)
pen.setColor(Qt::red);            // 颜色
painter.setPen(pen);// 画刷设置(填充)
QBrush brush;
brush.setColor(Qt::green);
brush.setStyle(Qt::SolidPattern); // 填充模式
painter.setBrush(brush);// 特殊填充方法
painter.fillRect(rect, Qt::blue);      // 直接填充矩形
painter.fillPath(path, Qt::yellow);    // 填充复杂路径

三、细节讲解

1. 角度计算机制(1/16度单位)

为什么使用 1/16 度?
  • 历史原因:早期计算机处理整数比浮点数更高效,16位精度可表示 0.0055° 的精度(360°×16=5760个单位)
  • 实际应用
    • 正角 = 顺时针方向
    • 负角 = 逆时针方向(推荐用负数表示逆时针更直观)
  • 换算公式
int qtAngle = degree * 16;      // 普通角度转Qt单位
float realDegree = qtAngle / 16.0f; // Qt单位转实际角度
典型使用场景
图形类型参数说明示例代码
圆弧起始角度 + 跨度角度drawArc(rect, 30 * 16, 120 * 16)
扇形起始角度 + 扇形展开角度drawPie(rect, -90 * 16, 180 * 16)
起始角度 + 弦的跨度drawChord(rect, 0, -90 * 16)

2. 性能优化策略 

1、凸多边形 vs 普通多边形
QPoint points[4] = {...};
// 高性能绘制(要求顶点按顺时针/逆时针排列)
painter.drawConvexPolygon(points, 4); // 通用绘制(自动处理交叉边,消耗多20%性能)
painter.drawPolygon(points, 4);

底层原理

  • 凸多边形使用更高效的扫描线算法(O(n)复杂度)
  • 普通多边形需要处理凹点和边交叉(O(n²)复杂度)
2、QPainterPath 复用
// 错误用法(每次创建新路径)
void paintEvent() {QPainterPath path;path.addRect(...);painter.drawPath(path);
}// 正确用法(缓存路径对象)
class Widget {QPainterPath m_cachedPath; // 在构造函数中初始化
};
void paintEvent() {painter.drawPath(m_cachedPath);
}
  • 性能对比
    • 复用路径可减少 40% 的 CPU 占用(避免重复计算贝塞尔曲线)
    • 特别适用于复杂路径(如自定义图形、组合图形)
http://www.dtcms.com/wzjs/809484.html

相关文章:

  • 永济做网站单价平面设计是干嘛的
  • 苏州知名高端网站建设机构公司做网站大概多少钱
  • 暴雪战网官方网站入口域名 a记录 手机网站
  • 网站推广策划的流程网站建设费走什么科目
  • 潍坊市网站建设设计搜狐新闻手机网
  • 企业网站空间在哪里图文制作
  • 深圳盐田建设交易中心网站企业网站建设和维护
  • 用dw做简单图片网站驻马店 市网站建设
  • 有没有做机械加工的网站django做网站
  • 长沙网站维护公司odoo做网站
  • 简单的网站开发的软件有哪些广告推广的方式
  • 企业网站建设调查问卷建设银行 网站用户变成个人用户
  • 达州建网站网站的规划与建设课程设计
  • 做网站的五要素城乡建设行业证书查询
  • ps免费素材网站有哪些沈阳市建设监理协会网站
  • 海沧区建设局网站 破路申请网页设计与制作总结和体会
  • 网站空间计算无锡网络营销推广公司
  • 宁波网站建设模板下载销售网站建设工资多少
  • 设计素材网站线上免费的推广引流软件下载
  • 做下一个盗版小说网站网站建立的方式是什么
  • 网站查询功能 技术支持 中企动力怎么做倒计时网站
  • 合肥网站建设久飞网站报名系统怎么做
  • 江华网站建设免费网络电话呼叫系统
  • wordpress整站数据杨凌做网站的公司
  • 假建设银行网站网络科技官网
  • 金融投资网站方案快速搭建网站 开源
  • 营销型企业网站的含义网站社区怎么创建
  • 漯河网站建设lhwzzz广东宏福建设有限公司网站
  • iis网站连接数建设世界一流企业
  • h5移动端网站开发学校网站建设团队