【VTK】关于QVTKOpenGLWidget的RenderWindow设置问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/theArcticOcean/article/details/83651058

在这篇文章:【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,直接使用默认对象,结果也是能正常运行的。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/theArcticOcean/article/details/83651058