c++ - 如何使用Qt画圆线形状?

标签 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);
}

最佳答案

如果您想绘制曲线图,推荐的选项是使用 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 中找到完整示例.

关于c++ - 如何使用Qt画圆线形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47622771/

相关文章:

c++ - 为什么要为命令行应用程序包含 QtWidgets?

C++ 访问定义宏数据

c++ - 修复 LNK2019 : unresolved external symbol with freeglut

c++ - 为什么方法重载或枚举标志定义会触发 gcc7.2 编译器警告?

c++ - 将exe文件复制到Qt构建目录

python-3.x - 如何在 PyQT5 中从字符串/xml 流中显示 SVG 图像?

c++ - 使用 QT 在 KDE5 中进行窗口和装饰样式编程

qt - 在 Qt 中向 Info.plist 添加条目

c++ - 如何在 C++ 中调用屏蔽函数?

c++ - 语法错误 : missing ',' before '<'