# Why single click works, but double click does not?

**URL:** https://discourse.vtk.org/t/why-single-click-works-but-double-click-does-not/3599
**Category:** Support
**Created:** [June 20, 2020, 12:24am UTC](https://discourse.vtk.org/t/why-single-click-works-but-double-click-does-not/3599 "2020-06-20T00:24:18Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![rodrigomologni](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/r/54ee81/32.png) [@rodrigomologni](https://discourse.vtk.org/u/rodrigomologni)
#### Post date: [June 20, 2020, 12:24am UTC](https://discourse.vtk.org/t/why-single-click-works-but-double-click-does-not/3599/1 "2020-06-20T00:24:18Z")

</div>

Would anyone know to tell me why single click works, but double click does not, please?

```
import vtk

def left_button(obj, e):
    print(e)

source = vtk.vtkSphereSource()

mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(source.GetOutputPort())

actor = vtk.vtkActor()
actor.SetMapper(mapper)

renderer = vtk.vtkRenderer()
renderer.AddActor(actor)

window = vtk.vtkRenderWindow()
window.AddRenderer(renderer)
window.SetSize(800, 600)

interactor = vtk.vtkRenderWindowInteractor()
interactor.SetRenderWindow(window)
interactor.SetInteractorStyle(vtk.vtkInteractorStyleRubberBandPick())
# interactor.AddObserver('LeftButtonPressEvent', left_button)
interactor.AddObserver('LeftButtonDoubleClickEvent', left_button)
interactor.Start()
```

---

<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: [June 20, 2020, 12:39am UTC](https://discourse.vtk.org/t/why-single-click-works-but-double-click-does-not/3599/2 "2020-06-20T00:39:35Z")

</div>

If you use Qt for your GUI then QVTKInteractorAdapter takes care of double-click events. Otherwise I think you need to implement detection of double-click events yourself, probably in the render window interactor.

---

<div class="post-metadata">

### Author: ![rodrigomologni](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/r/54ee81/32.png) [@rodrigomologni](https://discourse.vtk.org/u/rodrigomologni)
#### Post date: [June 20, 2020, 1:44am UTC](https://discourse.vtk.org/t/why-single-click-works-but-double-click-does-not/3599/3 "2020-06-20T01:44:51Z")

</div>

Hi, @lassoan! I had already implemented double click using Qt, but I thought it was possible using the VTK event itself. Thanks for answering! 🙂

This is the solution using Qt for anyone interested:

```
import sys
import vtk

from PyQt5.QtWidgets import QApplication, QMainWindow
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor

class MyQVTKRenderWindowInteractor(QVTKRenderWindowInteractor):

    def mouseDoubleClickEvent(self, event):
        print(event)

class MyQMainWindow(QMainWindow):

    def __init__ (self):
        super(MyQMainWindow, self). __init__ ()
        source = vtk.vtkSphereSource()
        mapper = vtk.vtkPolyDataMapper()
        mapper.SetInputConnection(source.GetOutputPort())
        actor = vtk.vtkActor()
        actor.SetMapper(mapper)
        renderer = vtk.vtkRenderer()
        renderer.AddActor(actor)
        interactor = MyQVTKRenderWindowInteractor()
        interactor.GetRenderWindow().AddRenderer(renderer)
        interactor.Start()
        self.setCentralWidget(interactor)

if __name__ == ' __main__':
    app = QApplication(sys.argv)
    win = MyQMainWindow()
    win.show()
    sys.exit(app.exec_())
```
