简介: 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()相关推荐

  1. QT QPainter::antialiasing QPainter::textAntialiasing 反走样、抗锯齿探究

    QT中使用QPainter 进行自行绘图的时候,为了防止"锯齿"的出现,我们会经常使用抗锯齿属性,也叫反走样, 既: QPainter::Antialiasing //绘图抗锯齿 ...

  2. QT 绘画引擎之qtwayland

    1 . qt 绘画介绍 QPaintEngine,QPainter,QPaintDevice组成了Qt绘制界面的基础.QPainter为开发者提供外部接口方法用于绘制.QPaintEngine为QPa ...

  3. Qt 绘画小软件(功能完善,免费下载)

    Qt 绘画小软件(功能完善,免费下载) 源码下载 免费下载,看评论 操作说明 快捷键 Ctrl + C 复制选中区域快捷键 Ctrl + V 粘贴选中区域快捷键 Ctrl + X 剪切选中区域快捷键 ...

  4. qt绘画事件-设置背景图片

    前言 设置widget的背景图片,并在背景图片上放置别的图片 直接上代码: 头文件 void paintEvent(QPaintEvent *); cpp文件: void MainWindow::pa ...

  5. svg绘画扇形 可以改变扇形数量 每个扇形字体居中

    首先 说一下 代码的下载地址 : github地址: https://github.com/819slw/zhuanpan               因为csdn上面必须要有金币 才可以下载  所以 ...

  6. c语言反推三角函数,【图】MACD反推公式的问题_反三角函数公式大全,年龄问题的所有公式,配套问题公式大全,反导数公式大全,拉氏反变换公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...

    MACD是常用的公式,这两天心血来潮就反推一下各曲线走平时的对应价格,但是发现DEA走平价格与交叉价格是一样的?从原理上来讲,似乎不应该一样,不知是不是自己搞错了?向老师请教.(写的比较简略,稍加修改 ...

  7. 高数——(反)三角函数及求导相关公式应用

    为什么会有这篇文章呢?源于一道题... ,这是一道求不定积分的课后习题.当晚在求这道题时,我和我的室友先完成了以下步骤: 设, 做到这一步之后,我们突然就不知道该这么变式了,因为需要将t变回x,而无法 ...

  8. 28.QT-QPainter介绍

    介绍 可以在QPaintDevice类上绘制各种图形 QPaintDevice类表示QPainter的绘图设备(画布) QpaintDevice子类有QImage.QOpenGLPaintDevice ...

  9. QT-QPainter介绍

    介绍 可以在QPaintDevice类上绘制各种图形 QPaintDevice类表示QPainter的绘图设备(画布) QpaintDevice子类有QImage.QOpenGLPaintDevice ...

最新文章

  1. 如何使用Nsight System?
  2. Can not get new positive sample
  3. sg滤波 matlab实现,Matlab,SG滤波器
  4. 在批处理中运行.sql文件
  5. 洛谷P4463:calc(dp、拉格朗日插值)
  6. python-发送短信验证码-功能的实现
  7. C语言课后习题(33)
  8. 章泽天卸任刘强东旗下一公司董事
  9. linux下intel无线网卡安装失败,ubuntu 16.04无法安装无线网卡驱动
  10. matlab的单项悟空整流,一种新型单相脉冲整流器的MATLAB仿真研究
  11. 安徽省级办公室高级应用计算机二级,2019年9月安徽省计算机等级二级考试教程:二级MSOffice高级应用上机指导...
  12. 数据标准在数据治理中的意义
  13. 图文详解——将本地项目上传到码云(gitee)远程仓库
  14. 利用Python绘制图案——七色花子
  15. 不要以为过了技术面就安全了,HR面也会挂人的!!
  16. 定性分析 or 定量分析
  17. 教你用OpenCV 和 Python给证件照换底色(蓝底 -红底-白底)
  18. 【项目管理】项目总结会要点和内容
  19. 04微分中值定理及其应用
  20. 第二章:真分数理论(信度系数的估计)(三)

热门文章

  1. ArcGIS Desktop 10.2 完全破解安装教程(含win7 32/64位+下载地址+亲测可用)
  2. 函数生成的ALV的按钮列表 .
  3. 蓝桥杯2018第九届C语言B组省赛习题题解——习题B.明码(暴力破解密码)
  4. vb.net获取系统特殊文件夹路径方法
  5. 【农业科研】改进检测梨树花序算法
  6. Integer初始化
  7. 10年老鸟竟不知道Integer如何比较大小
  8. 六类网线为啥那么受欢迎,网络工程师必知
  9. IDEA必备插件系列-Translation最优秀的翻译插件
  10. 高品质的音乐蓝牙耳机有哪些推荐?音质好的蓝牙耳机排行榜