Base on couse 2, Changed step 4 to

  • 4, Create a QVTKOpenGLWidget

    //step 0: set it to a window:
    auto vw = new  QVTKOpenGLWidget(this) ;
    vtkRenderWindow *renWin = vw->GetRenderWindow();
    ui->tabWidget->addTab( vw, __FUNCTION__);
      
    vtkRenderer *render= vtkRenderer::New();
      
    render->SetBackground( 0.1, 0.2, 0.4 );
      
    vtkSmartPointer<vtkConeSource> coneSource = vtkSmartPointer<vtkConeSource>::New();
    coneSource->SetRadius(.2);
    coneSource->SetHeight(.5);
    coneSource->SetCenter(0, 0, 0);
      
      
    vtkSmartPointer<vtkPolyDataMapper> coneMapper =
        vtkSmartPointer<vtkPolyDataMapper>::New();
    coneMapper->SetInputConnection(coneSource->GetOutputPort());
    vtkSmartPointer<vtkActor> coneActor =
        vtkSmartPointer<vtkActor>::New();
    coneActor->SetMapper(coneMapper);
      
    vtkSmartPointer<vtkActor> oriConeActor =
        vtkSmartPointer<vtkActor>::New();
    oriConeActor->SetMapper(coneMapper);
      
    render->AddActor(oriConeActor);
      
    double AXIS_LEN = 1.0;
    vtkSmartPointer<vtkAxesActor> oriAxesActor =
        vtkSmartPointer<vtkAxesActor>::New();
    oriAxesActor->SetPosition(0, 0, 0);
    oriAxesActor->SetTotalLength(AXIS_LEN, AXIS_LEN, AXIS_LEN);
    oriAxesActor->SetShaftType(0);
    oriAxesActor->SetAxisLabels(0);
    oriAxesActor->SetCylinderRadius(0.02);
      
      
    render->AddActor(oriAxesActor);
      
    renWin->AddRenderer( render );
    
  • 5, Build and run You will get: