<< qt5.9 c++开发指南 >>
第8章

三角函数是基本初等函数之一,是以角度(数学上最常用弧度制,下同)为自变量,角度对应任意角终边与单位圆交点坐标或其比值为因变量的函数。

角度的弧度制

360 o = 2π rad
180 o = π rad
1 o =(π / 180)rad ≈ 0.01745 rad
1 rad =(180 /π)o ≈ 57.30 o

α 度的角 = α ·(π / 180)rad




代码:

#include "widget.h"
#include "ui_widget.h"#include    <QPainter>void Widget::paintEvent(QPaintEvent *event)
{QPainter    painter(this);//创建QPainter对象painter.setRenderHint(QPainter::Antialiasing);//painter.setRenderHint(QPainter::TextAntialiasing);////生成五角星的5个顶点的,假设原点在五角星中心qreal   R=100; //半径const   qreal Pi=3.14159;qreal   deg=Pi*72/180;//QPoint points[5]={QPoint(R,0),QPoint(R*std::cos(deg),-R*std::sin(deg)),QPoint(R*std::cos(2*deg),-R*std::sin(2*deg)),QPoint(R*std::cos(3*deg),-R*std::sin(3*deg)),QPoint(R*std::cos(4*deg),-R*std::sin(4*deg)),};//设置字体QFont   font;font.setPointSize(12);font.setBold(true);painter.setFont(font);//设置画笔QPen    penLine;penLine.setWidth(2); //线宽penLine.setColor(Qt::blue); //划线颜色//Qt::NoPen,Qt::SolidLine, Qt::DashLine, Qt::DotLine,Qt::DashDotLine,Qt::DashDotDotLine,Qt::CustomDashLinepenLine.setStyle(Qt::SolidLine);//线的类型,实线、虚线等//Qt::FlatCap, Qt::SquareCap,Qt::RoundCappenLine.setCapStyle(Qt::FlatCap);//线端点样式//Qt::MiterJoin,Qt::BevelJoin,Qt::RoundJoin,Qt::SvgMiterJoinpenLine.setJoinStyle(Qt::BevelJoin);//线的连接点样式painter.setPen(penLine);//设置画刷QBrush  brush;brush.setColor(Qt::yellow); //画刷颜色brush.setStyle(Qt::SolidPattern); //画刷填充样式painter.setBrush(brush);//    QPen    penText;
//    penText.setWidth(2); //线宽
//    penText.setColor(Qt::blue); //划线颜色//设计绘制五角星的PainterPath,以便重复使用QPainterPath starPath;starPath.moveTo(points[0]);starPath.lineTo(points[2]);starPath.lineTo(points[4]);starPath.lineTo(points[1]);starPath.lineTo(points[3]);starPath.closeSubpath(); //闭合路径,最后一个点与第一个点相连starPath.addText(points[0],font,"0"); //显示端点编号starPath.addText(points[1],font,"1");starPath.addText(points[2],font,"2");starPath.addText(points[3],font,"3");starPath.addText(points[4],font,"4");//绘图painter.save(); //保存坐标状态painter.translate(100,120);painter.drawPath(starPath); //画星星painter.drawText(0,0,"S1");painter.restore(); //恢复坐标状态painter.translate(300,120); //平移painter.scale(0.8,0.8); //缩放painter.rotate(90); //顺时针旋转painter.drawPath(starPath);//画星星painter.drawText(0,0,"S2");painter.resetTransform(); //复位所有坐标变换painter.translate(500,120); //平移painter.rotate(-145); //逆时针旋转painter.drawPath(starPath);//画星星painter.drawText(0,0,"S3");
}//void Widget::resizeEvent(QResizeEvent *event)
//{//    QPainter    painter(this);//创建QPainter对象
//    painter.scale(600/width(),400/height());
//}Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);setPalette(QPalette(Qt::white)); //设置窗口背景色setAutoFillBackground(true);
//    resize(300,200);resize(600,300); //固定初始化窗口大小
//    this->resize(400,400);
}Widget::~Widget()
{delete ui;
}

qt 绘制五角星图形相关推荐

  1. java五角星金字塔,金星、地球、火星三行星运转绘制五角星图形---五行学说[转]...

    当我从天文学基础理论入手进行多方面的研究,试图证明太阳黑子并非太阳表面物质,它是运行至地球与太阳之间的天体物质时,意外的发现了这样一个有趣的问题,那就是每隔6.4年都会出现金星.地球.火星大致运行到一 ...

  2. 用c语言绘制五角星图形,用c语言画出一个五角星图案

    用c语言画出一个五角星图案 感觉上五角星和六角星 的思路差不多,所以就不做重复劳动啦~嘿嘿O(∩_∩)O~ 以下公布一个非本人的代码,虽然感觉这个五角星画的不是很"正",但总体感觉 ...

  3. [Qt教程] 第11篇 2D绘图(一)绘制简单图形

    [Qt教程] 第11篇 2D绘图(一)绘制简单图形 楼主  发表于 2013-4-23 12:52:35 | 查看: 1398| 回复: 5 绘制简单图形 版权声明 该文章原创于Qter开源社区,作者 ...

  4. python使用turtle库绘制一个红色五角星_使用turtle库绘制红色五角星图形

    五角星绘制 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬ ...

  5. 【Python】turtle 库:基本介绍 || 绘制简单图形:圆形、正方形、正六边形、小风车、等边三角形、五角星、奥运五环、四叶花瓣、太阳花、五星红旗、正方形螺旋线

    仅学习使用喔 ~ 文章目录 一.什么是Python中的 turtle库 ?常见函数介绍 0.turtle 库 介绍: 1.画笔控制函数: 2.运动控制函数: 3.方向控制函数: 二.常见图形绘制 1. ...

  6. QT基础之一文介绍QPainter绘制基础图形(画笔画刷设置,填充铺展渐变效果)

    更多参见 QT基础与实例应用目录 代码链接 GitHub链接 :QPainterSimpleExample 介绍 结合实例介绍如何利用QPainter绘制各种图形,可绘制不同形状,使用不同画笔颜色.画 ...

  7. 【青少年编程】绘制五角星

    Scratch竞赛交流群已成立(适合6至18周岁的青少年),公众号后台回复[Scratch],即可进入. 如果加入了之前的社群不需要重复加入. 类比思维就是指把两个或者两类事物进行比较,并进行逻辑推理 ...

  8. python画五角星-Python第八课 绘制五角星1.0

    第八课 绘制五角星1.0 学习目标: 1. 了解并学会使用turtle库. 2. 复习while循环. 教学重难点: turtle库的使用. 学习内容: 案例2: 使用turtle 库在Python中 ...

  9. PyQt5利用QPainter绘制各种图形

    这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西.这个过程也掌握 ...

最新文章

  1. 流程控制关键字——分支结构
  2. mysql在win服务器上安装linux_MySql数据安装Linux+Windows
  3. Reading——The Non-Designer's Design Book
  4. 2021数字化转型下银行发展供应链金融研究报告(上篇)
  5. c语言goord函数,park、unpark、ord 函数使用方法(转)
  6. 谷歌大脑2017总结(Jeff Dean执笔,干货满满,值得收藏)
  7. mysql c函数大全_Mysql 函数大全
  8. thinkphp5 return 返回空_杨丞琳演唱会意外踩空,从两层楼高的舞台掉落,李荣浩心疼发文...
  9. 的有效 海思编码_【最佳案例展示】2020年CUVA“超高清视频创新产品与解决方案”全球首款8K@120解码芯片海思Hi3796CV300...
  10. Linux下Nginx安装
  11. 方差、标准差、协方差
  12. 089 定积分之双纽线、心形线、摆线
  13. PHP去掉二维数组中某个元素重复的一维数组
  14. P3802 小魔女帕琪 期望
  15. 虚拟机安装SSH报错解决办法
  16. 沪胶809合约交割日近,压制远期合约走弱
  17. 企业计算机培训目的是什么意思,企业进行员工培训的目的是什么?
  18. 在Windows桌面壁纸上加字方法
  19. [ASP.NET]下载txt格式的文件
  20. 实时数据库在超大集团中应用的技术要求和典型场景—以风力发电为例

热门文章

  1. untiy下连接photon
  2. 在ceph 的admin-node安装calamari详细步骤
  3. 计算机选购知识点,购买笔记本电脑应参考的20个知识点
  4. 电脑时间调到2099年,会发生什么
  5. 【简约而不简单:神级代码的小秘密】| 第二章 栈
  6. 百旺红字发票信息表显示服务器返回为空,红字发票信息表状态详细说明
  7. 2021.3.14学习随笔
  8. 2019年小程序发展优势
  9. 微信小程序实现运动步数排名与发布个人动态服务器部署
  10. win7系统服务器文档,win7系统服务器