QT绘制多边形-----五边形
2020-02-06 02:05
369 查看
*QT绘制多边形
-
今天学习qt绘制多边形的绘制
1.先创建一个新项目Application->Qt Widgets Application
2.在头文件.h添加: protected: //在保护成员中,重写painterEvent
void paintEvent(QPaintEvente);
3.在文件.cpp(不是main.cpp)添加
#include
#include void MainWindow::paintEvent(QPaintEvente){
//绘制多边形 本例中直接写的六边形
int count=5;
int radius=100;//多边形的边数,半径QPainter painter(this);//指定本窗口绘图设备 //设置为抗锯齿,并且设置画笔颜色为浅灰色 painter.setRenderHint(QPainter::Antialiasing); painter.setPen(Qt::lightGray); //绘图设备的坐标原点(0,0)在左上角,水平向右增长,垂直向下增长。 painter.translate(width()/2.,height()/2.); //开始绘制多边形,并为每个区域上色 for(int i=0;i<count;++i){ //设中心点到边的垂线与半径的夹角为degree=(360/count)/2 float degree=180./count; //先将坐标进行旋转,然后在绘制 painter.rotate(2*degree); //设边长的一半为wid,则wid=radius*sin(degree) //原点到边的距离为hei,则hei=radius*cos(dergee) //在程序中三角函数都是以弧度为基准,所以要先将角度转化成弧度 //头文件要包含Qtmath float radian =qDegreesToRadians(degree); float wid = radius*qSin(radian); float hei =radius*qCos(radian); //绘制该三角区块 QPainterPath path; path.lineTo(-wid,-hei); path.lineTo(wid,-hei); path.lineTo(0,0); painter.drawPath(path); //随机生成一个颜色,作为该区块的颜色,并上色 QColor color(qrand()%255,qrand()%255,qrand()%255,150); painter.fillPath(path,color); }
} 然后执行Qmake,再运行(记得保存哦哦) 出来是五边形
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 自定义控件实现多边形绘制 图形菜单 绘制五边形,六边形等
- QT绘制多边形、渐变线段、文字、带线段的箭头
- 如何在DeepEarth中进行图形绘制(点、线、多边形以及自定义图片图层)
- opengl学习笔记(四)——绘制简单多边形
- CANVAS绘制多边形
- 高德地图绘制多边形
- QT学习 之 三维饼图绘制
- QtCharts 时间坐标轴以及利用定时器动态绘制图形
- QT 绘制 五角图案
- 跨平台二维绘图程序(四)——多边形绘制
- qt利用委托:QStyledItemDelegate,实现tableview 的表格项的自定义显示,如插入图片,绘制控件
- 高德地图 SDK 的应用 01:绘制多边形区域图
- QtWebkit里RenderLayer树的绘制具体流程分析
- Qt PaintEvent 绘制窗体背景图片
- 用线框模式绘制多边形 glPolygonMode
- android自定义View创建一个Path绘制多边形,贝塞尔曲线,
- Qt绘制带箭头的线段
- 绘制多边形
- Qt paintEvent绘制窗体 注意Qt::WA_PaintOutsidePaintEvent 只是适用于X11,其他系统均无效
- OpenGL绘制有立体感的五边形