Qt如何绘制曲线?

Qt绘制的功能是通过QPainter来实现的,然而翻遍帮助文档发现QPainter没有提供绘制曲线的函数。以GUI出名的Qt怎么会连个曲线也不能画呢,这显然是不合理的。


虽然QPainter没有提供绘制曲线的函数,但是QPainterPath提供了添加曲线的功能。QPainter又能绘制QPainterPath,那问题就解决了。


绘制三次贝塞尔曲线:

image.png

三次贝塞尔曲线有起点、终点和两个控制点。path先moveTo起点,然后调用cubicTo就完成了三次曲线的添加。cubicTo三个参数分别是控制点1、控制点2和终点。效果如下图:

image.png



绘制二次贝塞尔曲线:

image.png

二次贝塞尔曲线只有一个控制点,函数使用quadTo,第一个参数是控制点,第二个参数是终点。效果如下图:

image.png



演示站
上一篇:Qt如何删除字符串的最后一个字符?
下一篇:Qt如何实现密码加密?

发表评论