Qt环境下使用vtk的测量组件 vtkAngleWidget和vtkDistanceWidget

本文介绍了如何在Qt环境中将vtkDistanceWidget和vtkAngleWidget组件集成到qvtkWidget中,并提供具体的实现代码。同时,文章还提及了在使用vtkSmartPointer智能指针时遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt坏境下在ui文件中qvtkwidget添加vtkAngleWidget和vtkDistanceWidget 组件代码:

vtkDistanceWidget组件:

        vtkRenderer * renderer  = vtkRenderer::New();
        ui->qvtkWidget->GetRenderWindow()->AddRenderer(renderer);
        vtkDistanceWidget *distanceWidget = vtkDistanceWidget::New();
        distanceWidget->SetInteractor(ui->vtkWidget->GetRenderWindow()->GetInteractor());
        vtkDistanceRepresentation3D* representation = vtkDistanceRepresentation3D::New();
        distanceWidget->SetRepresentation(representation);
        distanceWidget->SetPriority(0.9);
        static_cast<vtkDistanceRepresentation*> (distanceWidget->GetRepresentation())->SetLabelFormat("%-#6.2f mm");
        distanceWidget->ManagesCursorOn();
        distanceWidget->On();
vtkAngleWidget组件:

      vtkRenderer *renderer  = vtkRenderer::New();
      ui->qvtkWidget->GetRenderWindow()->AddRenderer(renderer);
      vtkAngleWidget *angleWidget =vtkAngleWidget::New();
      angleWidget->SetPriority(0.9);
      angleWidget->SetInteractor(ui->qvtkWidget->GetRenderWindow()->GetInteractor()); //添加交互器
      angleWidget->CreateDefaultRepresentation();
      angleWidget->ManagesCursorOn();
      angleWidget->On();

在代码调试过程中发现使用vtkSmartPointer智能指针定义vtkDistanceWidget 和 vtkAngleWidget是组件不显示,写成普通模式则可以,不太清楚具体原因


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值