import sys
from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtWidgets import *

def print_event(caller, event:QEvent):
    print(f'caller: {caller} | type: {type(event).__name__} | accepted: {event.isAccepted()}')

class Viewport(QGraphicsView):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def event(self, event:QEvent):
        print_event('event', event)
        return super().event(event)

    def tabletEvent(self, event:QEvent):
        print_event('tabletEvent', event)
        return super().tabletEvent(event)

    def wheelEvent(self, event):
        print_event('wheelEvent', event)
        return super().wheelEvent(event)

class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.viewport = Viewport(parent=self)
        self.setCentralWidget(self.viewport)

app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
app.exec()
