qt绘画扇形drawPie()和反着三角函数qAcos()
简介: qt绘画扇形drawPie()
,绘画出弧线; 和由三角形的长度计算出角度,利用反三角函数qAcos()
文章目录
- 同步博文:
- 问题背景:
- 解决方法:
- 绘画扇形drawPie():
- 反三角计算角度qAcos():
- 弧度和角度转换公式:
- 最后的效果:
同步博文:
- 本篇的csdn/github.io同步博文: qt绘画扇形drawPie()和反着三角函数qAcos()
问题背景:
在绘画进度条控件中,进度滑块当处于一开始和快完成,有弧度部分的时候,想要看的过程比较自然,就要自己手动填充这一部分"梯形(腰是两个段圆弧)";而一开始想到的居然是:直接求直线于弧线(圆角矩形的弧线部分)的交点的函数,我觉得应该是没有的。
解决方法:
将 “腰是圆弧梯形” 拆分为一个两个圆弧和一个(标准)等腰梯形来进行拆分,从而进行填。
其中需要计算角度
绘画扇形drawPie():
void QPainter::drawPie(const QRect &, int a, int alen)
参数1: 圆弧的圆心所处于矩形
参数2: 圆弧的开始始的角度°(单位1/16度)
参数3: 圆弧的转动的角度°(单位1/16度)
实际使用,注意其单位是1/16角度,而不是弧度。
p->drawPie(topPointRect,41 * 16, (90 - 41) * 16);
反三角计算角度qAcos():
由三角形的边计算角度;需要包含头文件
#include <QtMath>
另外一个计算角度的函数
qreal qAcos(qreal v)
Returns the arccosine of v as an angle in radians. Arccosine is the inverse operation of cosine.
参数: 直角边/斜边 (注意用double)
返回结果: 是弧度为单位
使用:
qreal raw = qAcos(30 * 1.0 / 40); //=41.4096弧度
弧度和角度转换公式:
弧度 = 角度 * π / 180
π所对应的宏为:
//M_PI The ratio of a circle's circumference to diameter, π
绘画上图的黑色圆弧代码:
qreal raw = qAcos(30 * 1.0 / 40);
int startRadius = raw * 180 / M_PI;
p->drawPie(topPointRect,startRadius * 16, (90 - startRadius) * 16);
最后的效果:
如图:然后同理,只需要将左侧的两个角都这样计算,然后同样填充蓝色,即可以做到圆角处的完美(当进度增加时候,加载想的自然)
qt绘画扇形drawPie()和反着三角函数qAcos()相关推荐
- QT QPainter::antialiasing QPainter::textAntialiasing 反走样、抗锯齿探究
QT中使用QPainter 进行自行绘图的时候,为了防止"锯齿"的出现,我们会经常使用抗锯齿属性,也叫反走样, 既: QPainter::Antialiasing //绘图抗锯齿 ...
- QT 绘画引擎之qtwayland
1 . qt 绘画介绍 QPaintEngine,QPainter,QPaintDevice组成了Qt绘制界面的基础.QPainter为开发者提供外部接口方法用于绘制.QPaintEngine为QPa ...
- Qt 绘画小软件(功能完善,免费下载)
Qt 绘画小软件(功能完善,免费下载) 源码下载 免费下载,看评论 操作说明 快捷键 Ctrl + C 复制选中区域快捷键 Ctrl + V 粘贴选中区域快捷键 Ctrl + X 剪切选中区域快捷键 ...
- qt绘画事件-设置背景图片
前言 设置widget的背景图片,并在背景图片上放置别的图片 直接上代码: 头文件 void paintEvent(QPaintEvent *); cpp文件: void MainWindow::pa ...
- svg绘画扇形 可以改变扇形数量 每个扇形字体居中
首先 说一下 代码的下载地址 : github地址: https://github.com/819slw/zhuanpan 因为csdn上面必须要有金币 才可以下载 所以 ...
- c语言反推三角函数,【图】MACD反推公式的问题_反三角函数公式大全,年龄问题的所有公式,配套问题公式大全,反导数公式大全,拉氏反变换公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...
MACD是常用的公式,这两天心血来潮就反推一下各曲线走平时的对应价格,但是发现DEA走平价格与交叉价格是一样的?从原理上来讲,似乎不应该一样,不知是不是自己搞错了?向老师请教.(写的比较简略,稍加修改 ...
- 高数——(反)三角函数及求导相关公式应用
为什么会有这篇文章呢?源于一道题... ,这是一道求不定积分的课后习题.当晚在求这道题时,我和我的室友先完成了以下步骤: 设, 做到这一步之后,我们突然就不知道该这么变式了,因为需要将t变回x,而无法 ...
- 28.QT-QPainter介绍
介绍 可以在QPaintDevice类上绘制各种图形 QPaintDevice类表示QPainter的绘图设备(画布) QpaintDevice子类有QImage.QOpenGLPaintDevice ...
- QT-QPainter介绍
介绍 可以在QPaintDevice类上绘制各种图形 QPaintDevice类表示QPainter的绘图设备(画布) QpaintDevice子类有QImage.QOpenGLPaintDevice ...
最新文章
- 如何使用Nsight System?
- Can not get new positive sample
- sg滤波 matlab实现,Matlab,SG滤波器
- 在批处理中运行.sql文件
- 洛谷P4463:calc(dp、拉格朗日插值)
- python-发送短信验证码-功能的实现
- C语言课后习题(33)
- 章泽天卸任刘强东旗下一公司董事
- linux下intel无线网卡安装失败,ubuntu 16.04无法安装无线网卡驱动
- matlab的单项悟空整流,一种新型单相脉冲整流器的MATLAB仿真研究
- 安徽省级办公室高级应用计算机二级,2019年9月安徽省计算机等级二级考试教程:二级MSOffice高级应用上机指导...
- 数据标准在数据治理中的意义
- 图文详解——将本地项目上传到码云(gitee)远程仓库
- 利用Python绘制图案——七色花子
- 不要以为过了技术面就安全了,HR面也会挂人的!!
- 定性分析 or 定量分析
- 教你用OpenCV 和 Python给证件照换底色(蓝底 -红底-白底)
- 【项目管理】项目总结会要点和内容
- 04微分中值定理及其应用
- 第二章:真分数理论(信度系数的估计)(三)