首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vtk呈现与qvtkwidget不同的其他窗口

Vtk呈现与qvtkwidget不同的其他窗口
EN

Stack Overflow用户
提问于 2012-08-24 17:14:04
回答 2查看 2.2K关注 0票数 2

我有一个小问题,我认为这很容易,所以找到一个解决方案,但我已经到了尝试一切但仍然不起作用的地步。我确定这是很简单的事情,所以我在寻求帮助,因为我自己想不出来。

我在centralwidget上有一个qvtkwidget,它没有问题。

问题是,每次我运行程序时,它都会呈现界面之外的另一个方框。

下面是我的代码中对这个问题很重要的部分。

代码语言:javascript
复制
// Create renderer
  ren= vtkRenderer::New();
    ren->AddActor(outlineActor);
    ren->SetBackground(0.1,0.1,0.3);

// Drawing some X,Y,Z axes
  axes= vtkCubeAxesActor2D::New();
    //more stuff
    ren->AddViewProp(axes);
    ren->ResetCamera();

// Create a window for the renderer
  renWin= vtkRenderWindow::New();
    renWin->AddRenderer(ren);

// Set an user interface interactor for the render window
  iren= vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWin);

  style = vtkInteractorStyleTrackballCamera::New();
    iren->SetInteractorStyle(style);

// Create a inicial camera view
vtkCamera *inicam= ren->GetActiveCamera();
  inicam->Zoom(1);
  inicam->SetViewUp(0, 0, 0);
  inicam->Azimuth(45);
  ren->ResetCameraClippingRange();

// Start the initialization and rendering
    renWin->Render();

// Assign the rendering window to the qvtkwidget
  ui->qvtkWidget->SetRenderWindow(renWin);

如果有人对此有任何想法,我将不胜感激.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-28 17:51:39

看过这个例子后,我让它正常工作了。

代码语言:javascript
复制
  ui->qvtkWidget->GetRenderWindow()->AddRenderer(ren);
票数 0
EN

Stack Overflow用户

发布于 2016-07-26 19:55:54

QVTKWidget已经有了一个交互器。所以改用那个吧:

代码语言:javascript
复制
    auto interactorStyle = vtkSmartPointer<TestInteractorStyle>::New();

    QVTKInteractor* interactor = widget->GetInteractor();

    interactor->SetInteractorStyle(interactorStyle);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12106412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档