本周开始学习的是Qt5的内容。
根据老师的要求,需要尝试做一个如下图所示的坐标系。
经过我的查询,发现坐标系不能直接拖控件,只能用代码来完成。
首先,需要创建一块画布。
效果如下
然后在白色的画布上就可以用QPaint来画图了。
效果如下
然后需要用一个循环画出刻度线以及标上刻度
// 画上x轴刻度线
for(int i=0;i<10;i++)//分成10份
{
// 选取合适的坐标,绘制一段长度为4的直线,用于表示刻度
painter.drawLine(pointx+(i+1)*width/10,pointy,pointx+(i+1)*width/10,pointy+4);
painter.drawText(pointx+(i+0.9)*width/10,
pointy+20,QString::number((int)((i+1)*((double)n))));
}
// 在结尾的地方标上单位。
painter.drawText(655,pointy+10,QString("T/℃"));
同理,Y轴的刻度也是这样做,然后就得到了一个坐标系
然后,我们需要填充虚线,制成虚线格
这时候就要用到QPen定义一个新的画笔
QPen penDot;
penDot.setStyle(Qt::DotLine);// 定义虚线
penDot.setWidth(2);
painter.setPen(penDot);
上面我们设置的刻度长度是4,现在只需要把刻度线设置成和坐标轴一样长度,就变成了一个由虚线构成的坐标系了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。