QPainterPath類爲繪製操做提供了一個容器,能夠用來建立圖形而且重複使用。一個繪圖路徑就是由多個矩形、橢圓、線條或者曲線等組成的對象,一個路徑能夠是封閉的,例如矩形和橢圓;也能夠是非封閉的,例如線條和曲線html
/* moveTo 不會進行繪製,只用於移動移動畫筆。通常和其餘方法配合使用。
* lineTo通常用於繪製直線:
* quadTo 用於繪製圓滑曲線,即貝塞爾曲線。
* quadTo(x1, y1, x2, y2) (x1,y1) 爲控制點,(x2,y2)爲結束點。
* https://www.aliyun.com/jiaocheng/20830.html
*/動畫
#include <QPainter> #include <QFont> void MainWindow::paintEvent(QPaintEvent *) { QPainterPath path; path.addEllipse(100, 100, 50, 50); //結束點:150, 100 path.lineTo(200, 200); //從起始點到 200, 200 QPainterPath path2; path2.addPath(path); path2.translate(100,0); //全部圖形以x軸前移100個單位 QPainter painter(this); painter.setPen(Qt::blue); painter.setBrush(Qt::red); painter.drawPath(path); painter.drawPath(path2); }