# vtkOrientationMarkerWidget won't show in pyqt5

**URL:** https://discourse.vtk.org/t/vtkorientationmarkerwidget-wont-show-in-pyqt5/6320
**Category:** Support
**Created:** [August 8, 2021, 12:56am UTC](https://discourse.vtk.org/t/vtkorientationmarkerwidget-wont-show-in-pyqt5/6320 "2021-08-08T00:56:46Z")
**Posts on this page:** 1
**Showing post:** 9

<div class="post-metadata">

### Author: ![Hana](https://discourse.vtk.org/user_avatar/discourse.vtk.org/hana/32/8065_2.png) [@Hana](https://discourse.vtk.org/u/Hana)
#### Post date: [November 27, 2023, 4:37am UTC](https://discourse.vtk.org/t/vtkorientationmarkerwidget-wont-show-in-pyqt5/6320/9 "2023-11-27T04:37:25Z")

</div>

I’m not sure if you still need to solve this problem, but I’ve found a solution in this post:

> [@How to use vtkRenderWindowInteractor in QVTKOpenGLNativeWidget](https://discourse.vtk.org/t/how-to-use-vtkrenderwindowinteractor-in-qvtkopenglnativewidget/2499/3):
>
> According to your code, I define the oject ‘vtkOrientationMarkerWidget’ as a member variable of the class MyViewer instead of local variable in the function. It works! That’s the reason why I can not see the result. Thank you very much!

It seems that we both made a same mistake not to define the object ‘vtkOrientationMarkerWidget’ as a member of class ‘MainWindow’. Now my PyQt5 program can work normally.

 ![image](https://discourse.vtk.org/uploads/default/original/2X/1/101651bc61a85d8445a93dbb84b68b4ab789cd79.png)  
And here is my code:

```python
class MainWindow(QtWidgets.QMainWindow):
    def __init__ (self, parent = None):
        super(). __init__ ()
        # create QVTKRenderWindowInteractor
        self.vtk_widget = QVTKRenderWindowInteractor(self)

        # create render and interactor
        self.renderer = vtk.vtkRenderer()
        self.vtk_widget.GetRenderWindow().AddRenderer(self.renderer)
        self.interactor = self.vtk_widget.GetRenderWindow().GetInteractor()

        # create an axes actor, remember to define it as a member variable
        self.axes_actor = vtkAxesActor()
        self.axes_actor.AxisLabelsOn()
        self.axes_actor.SetTotalLength(1.0, 1.0, 1.0)
        self.axes_actor.SetShaftTypeToCylinder()

        # create a vtkOrientationMarkerWidget, and connect it with axes actor. remember to define it as a member variable
        self.axes_widget = vtk.vtkOrientationMarkerWidget()
        self.axes_widget.SetOrientationMarker(self.axes_actor)
        self.axes_widget.SetInteractor(self.interactor)
        self.axes_widget.SetViewport(0.0, 0.0, 0.2, 0.2) 
        self.axes_widget.SetEnabled(True)
        self.axes_widget.InteractiveOn()

        # background color
        self.renderer.SetBackground(0.8, 0.8, 0.8)

        # model
        self.sphere = vtk.vtkSphereSource()
        self.sphere_mapper = vtk.vtkPolyDataMapper()
        self.sphere_mapper.SetInputConnection(self.sphere.GetOutputPort())
        self.sphere_actor = vtk.vtkActor()
        self.sphere_actor.SetMapper(self.sphere_mapper)
        self.renderer.AddActor(self.sphere_actor)

        # camera
        self.camera = self.renderer.GetActiveCamera()
        self.camera.SetPosition(0, 0, 30)
        self.renderer.SetActiveCamera(self.camera)

        self.setCentralWidget(self.vtk_widget)

```

---

_[View the full topic](https://discourse.vtk.org/t/vtkorientationmarkerwidget-wont-show-in-pyqt5/6320)._
