VTK关于QVTKOpenGLWidget的RenderWindow设置问题

Posted theArcticOcean

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VTK关于QVTKOpenGLWidget的RenderWindow设置问题相关的知识,希望对你有一定的参考价值。

在这篇文章:【VTK】use vtk in qt widget example 的基础上继续实验。

如果不给QVTKOpenGLWidget设置RenderWindow,尝试直接去默认默认值,那么它的返回值是一个nullptr。


    printf( "ui->qvtkWidget->GetRenderWindow(): %p\\n", ui->qvtkWidget->GetRenderWindow() );

    // ui->qvtkWidget->GetRenderWindow(): 0x0

同时,我们发现,程序运行得到的界面,QVTKOpenGLWidget所占据的部分是透明的。

但是,我在朋友的电脑上有这样的发现: 他project环境是:

win10
QT 5.7.0
Qt Creator 4.0.2
MSVC 2013, bits
VTK7.1.0,没有QVTKOpenGLWidget,替代者是QVTKWidget。

在他的工程中,我没有搜索到SetRenderWindow这样的关键词,但是却直接使用了GetRenderWindow进行AddRenderer, SetNumberOfLayers等操作。这应该表明, QVTKWidget有默认的RenderWindow,而QVTKOpenGLWidget是没有的(是空指针)。
据此,我找到以前使用过QVTKWidget的练习:vtk双窗口联动实验
做了这样的更改:

QVTKWidget不设置renderWindow,直接使用默认对象,结果也是能正常运行的。

以上是关于VTK关于QVTKOpenGLWidget的RenderWindow设置问题的主要内容,如果未能解决你的问题,请参考以下文章

Qt&Vtk-005-Arrays

怎么用python的vtk实现stereo显示

将文件BMP链读入VTK并通过Python+QT渲染体积3d

怎么样将vtk转化为别的格式(见图),最好有软件可以实现,谢谢!

python 使用vtk和matplotlib保存高质量图片

关于如何使用软件库的一个技巧-避免重复配置属性表