如何使用Qt绘制圆形线条?

时间:2017-12-03 20:09:18

标签: c++ qt qt5

如何使用QT绘制圆形线条形状。喜欢这个图像。我需要在按钮点击时设计一条圆形线。

void MainWindow::on_btnCreateRoundedLine_clicked()
{

}

enter image description here

更新图片:

enter image description here

在此代码中,当按钮单击时创建矩形形状,同样我需要在按钮单击时创建圆形线。还可以旋转。

void Widget::on_btnCreateRect_clicked()
{

    QBrush blueBrush(Qt::green);
    QPen blackPen(Qt::black);
    blackPen.setWidth(2);
    rect = ui->graphicsView->scene()->addRect(-10,-10,250,100,blackPen);

    rect->setFlag(QGraphicsItem::ItemIsMovable, true);
    rect->setFlag(QGraphicsItem::ItemIsSelectable,true);
}

1 个答案:

答案 0 :(得分:2)

如果你想绘制曲线图,建议选择使用QGraphicsPathItem,你必须传递QPainterPath该对象:

QPainterPath path;
path.moveTo(10, 20);
path.lineTo(10, 40);
path.arcTo(QRectF(10, 20, 40, 40), 180, 180);
path.moveTo(50, 40);
path.lineTo(50, 20);
QPen redPen(Qt::red);
redPen.setWidth(2);
QGraphicsPathItem* item = ui->graphicsView->scene()->addPath(path, redPen);
/*
    QGraphicsPathItem* item = new QGraphicsPathItem(path);
    item->setPen(redPen);
*/

输出:

enter image description here

您可以在以下link中找到完整的示例。