# bug for QVTKWidget with Qt5.9 and VTK8.0

**URL:** <https://discourse.vtk.org/t/bug-for-qvtkwidget-with-qt5-9-and-vtk8-0/1457>\
**Category:** Development\
**Created:** [July 31, 2019, 6:44am UTC](https://discourse.vtk.org/t/bug-for-qvtkwidget-with-qt5-9-and-vtk8-0/1457 "2019-07-31T06:44:20Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pbazavan](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/p/54ee81/32.png) [@pbazavan](https://discourse.vtk.org/u/pbazavan)\
**Post date:** [July 31, 2019, 6:44am UTC](https://discourse.vtk.org/t/bug-for-qvtkwidget-with-qt5-9-and-vtk8-0/1457/1 "2019-07-31T06:44:20Z")

</div>

I have a bug when displaying a simple 3D vtk object in a Qt window using QVTKWidget.  
Hidden surfaces and visible surfaces are not well rendered. I’m using Qt 5.9 and VTK 8.0 on an Ubuntu system.  
Information on my computer:

OS Ubuntu 16.04

glxinfo | grep -i version  
server glx version string: 1.4  
client glx version string: 1.4  
GLX version: 1.4  
Version: 18.0.5  
Max core profile version: 3.3  
Max compat profile version: 3.0  
Max GLES1 profile version: 1.1  
Max GLES[23] profile version: 3.0  
OpenGL version string: 3.0 Mesa 18.0.5  
OpenGL shading language version string: 1.30

The example program is:

#include “vtkActor.h”  
#include “vtkRenderer.h”  
#include “vtkPolyData.h”  
#include “vtkPolyDataMapper.h”  
#include “vtkProperty.h”  
#include \<vtkInteractionStyleModule.h\>  
#include \<vtkRenderWindow.h\>  
#include   
#include \<QVTKWidget.h\>  
#include \<vtkCubeSource.h\>  
#include \<vtkAutoInit.h\>

VTK\_MODULE\_INIT (vtkRenderingOpenGL2)  
VTK\_MODULE\_INIT (vtkInteractionStyle)

int main(int argc, char\*\* argv)  
{  
QApplication app( argc, argv );  
QVTKWidget widget;  
widget.resize(640,384);

```
vtkRenderWindow *renderWindow = vtkRenderWindow::New();

```

vtkRenderer \*renderer = vtkRenderer::New();  
vtkCubeSource _cubeSource = vtkCubeSource::New();  
vtkPolyDataMapper_ g\_mapper = vtkPolyDataMapper::New();  
g\_mapper-\>SetInputConnection(cubeSource-\>GetOutputPort());

vtkActor \*actor = vtkActor::New();  
actor-\>SetMapper(g\_mapper);  
actor-\>GetProperty()-\>SetColor (1,0,0);  
actor-\>GetProperty()-\>SetRepresentationToSurface();

renderer-\>AddActor(actor);  
renderer-\>SetBackground(0.2, 0.4, 0.8);  
renderWindow-\>AddRenderer(renderer);

widget.SetRenderWindow(renderWindow);  
widget.show();  
app.exec();

renderWindow-\>Delete();  
renderer-\>Delete();  
actor-\>Delete();  
g\_mapper-\>Delete();

return 0;  
}

Any suggestion is appreciated.

---

<div class="post-metadata">

**Author:** ![lassoan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lassoan/32/50_2.png) [@lassoan](https://discourse.vtk.org/u/lassoan)\
**Post date:** [August 1, 2019, 2:26pm UTC](https://discourse.vtk.org/t/bug-for-qvtkwidget-with-qt5-9-and-vtk8-0/1457/2 "2019-08-01T14:26:51Z")

</div>

We usually need to change surface format in Qt to make VTK rendering work correctly. For example, on Windows you need to request OpenGL compatibility profile.
