# I cannot use QVTKOpenGLNativeWidget to normal display a widgets?

**URL:** https://discourse.vtk.org/t/i-cannot-use-qvtkopenglnativewidget-to-normal-display-a-widgets/10683
**Category:** Support
**Created:** [February 14, 2023, 9:40pm UTC](https://discourse.vtk.org/t/i-cannot-use-qvtkopenglnativewidget-to-normal-display-a-widgets/10683 "2023-02-14T21:40:29Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Arvin](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/a/a88e57/32.png) [@Arvin](https://discourse.vtk.org/u/Arvin)
#### Post date: [February 14, 2023, 9:40pm UTC](https://discourse.vtk.org/t/i-cannot-use-qvtkopenglnativewidget-to-normal-display-a-widgets/10683/1 "2023-02-14T21:40:30Z")

</div>

there is my code , i want to add a coordinate like [this](https://kitware.github.io/vtk-examples/site/Cxx/Visualization/DisplayCoordinateAxes)  
the follow is my code  
curvessurfaces.h

```auto
#ifndef CURVESSURFACES_H
#define CURVESSURFACES_H

#include <QMainWindow>

#include <QVTKOpenGLNativeWidget.h>
#include <vtkGenericOpenGLRenderWindow.h>

#include <IVtkOCC_Shape.hxx>
#include <IVtkTools_ShapeDataSource.hxx>
#include <vtkActor.h>
#include <vtkBoxWidget.h>
#include <vtkCamera.h>
#include <vtkCommand.h>
#include <vtkConeSource.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkTransform.h>
#include <vtkAutoInit.h>
#include <vtkAxesActor.h>
#include <vtkOrientationMarkerWidget.h>

VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);

QT_BEGIN_NAMESPACE
namespace Ui { class CurvesSurfaces; }
QT_END_NAMESPACE

class CurvesSurfaces : public QMainWindow
{
    Q_OBJECT

public:
    CurvesSurfaces(QWidget *parent = nullptr);
    ~CurvesSurfaces();

private:
    vtkNew<vtkOrientationMarkerWidget> widget;
    Ui::CurvesSurfaces *ui;
};
#endif 

```

curvessurfaces.cpp

```auto
#include "curvessurfaces.h"
#include "ui_curvessurfaces.h"
#include <vtkSphereSource.h>

CurvesSurfaces::CurvesSurfaces(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::CurvesSurfaces)
{
    ui->setupUi(this);
    vtkNew<vtkNamedColors> colors;
    vtkNew<vtkRenderer> renderer;
    renderer->SetBackground(colors->GetColor3d("SteelBlue").GetData());
    vtkNew<vtkGenericOpenGLRenderWindow> renderWindow;
    renderWindow->AddRenderer(renderer);
    renderWindow->SetWindowName("CurvesSurfaces");

    //vtkNew<vtkAxesActor> axes;
    //renderer->AddActor(axes);

    // An interactor
    //vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
    //renderWindowInteractor->SetRenderWindow(renderWindow);
    vtkNew<vtkAxesActor> axes;

    double rgba[4]{0.0, 0.0, 0.0, 0.0};
    colors->GetColor("Carrot", rgba);
    this->widget->SetOutlineColor(rgba[0], rgba[1], rgba[2]);
    this->widget->SetOrientationMarker(axes);
    this->widget->SetInteractor(ui->openGLWidget->interactor());
    this->widget->SetViewport(0.0, 0.0, 0.4, 0.4);
    this->widget->SetEnabled(1);
    this->widget->InteractiveOn();
    this->widget->On();

    setCentralWidget(ui->openGLWidget);
    ui->openGLWidget->setRenderWindow(renderWindow);
}

CurvesSurfaces::~CurvesSurfaces()
{
    delete ui;
}

```
