How to implement myself interactor in vtk pyqt?

I need to start my own project. I want to implement my own interactor, and my code is:

import vtk, sys

from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor

from PyQt5.QtWidgets import *

class myInteractorStyle(vtk.vtkInteractorStyleTrackballCamera):

def __init__(self):
    super(myInteractorStyle, self).__init__()

def OnLeftButtonDown(self):
    super(myInteractorStyle, self).OnLeftButtonDown()
    print('left button down')

class MainWindow(QMainWindow):

def __init__(self, parent=None):
    super(MainWindow, self).__init__(parent=parent)

    self.frame = QFrame()

    self.vl = QVBoxLayout()
    self.vtkWidget = QVTKRenderWindowInteractor(self.frame)
    self.vl.addWidget(self.vtkWidget)

    self.ren = vtk.vtkRenderer()
    self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
    self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()

    # style = vtk.vtkInteractorStyleTrackballCamera()
    style = myInteractorStyle()
    self.iren.SetInteractorStyle(style)

    # Create source
    source = vtk.vtkSphereSource()
    source.SetCenter(0, 0, 0)
    source.SetRadius(5.0)

    # Create a mapper
    mapper = vtk.vtkPolyDataMapper()
    mapper.SetInputConnection(source.GetOutputPort())
    mapper.ScalarVisibilityOff()

    # Create an actor
    actor = vtk.vtkActor()
    actor.SetMapper(mapper)
    actor.GetProperty().SetColor(1, 1, 1)
    actor.GetProperty().ShadingOff()

    self.ren.AddActor(actor)

    self.ren.ResetCamera()

    self.frame.setLayout(self.vl)
    self.setCentralWidget(self.frame)

    self.show()
    self.iren.Initialize()

if name == “main”:
app = QApplication(sys.argv)

window = MainWindow()

sys.exit(app.exec_())

I hope this code would print “left button down” when the left button clicked, but it don’t.
What’s wrong with my project? Any suggestion is appraciated.