Сделать как в QtScript Tetrix Example, передать указатель на класс в скрипт
C++ (Qt)
Q_DECLARE_METATYPE(QPainter*)
 
А потом в скрипте его использовать
C++ (Qt)
TetrixBoard.prototype.onPaint = function(painter) {
     if (this.isPaused) {
         this.ui.drawPauseScreen(painter);
         return;
     }
 
     for (var i = 0; i < TetrixBoard.BoardHeight; ++i) {
         for (var j = 0; j < TetrixBoard.BoardWidth; ++j) {
             var shape = this.getShapeAt(j, TetrixBoard.BoardHeight - i - 1);
             if (shape != TetrixShape.NoShape)
                 this.ui.drawSquare(painter, j, i, shape);
         }
     }
 
     if (this.curPiece.shape != TetrixShape.NoShape) {
         for (var i = 0; i < 4; ++i) {
             var x = this.curX + this.curPiece.getX(i);
             var y = this.curY - this.curPiece.getY(i);
             this.ui.drawSquare(painter, x, TetrixBoard.BoardHeight - y - 1,
                                this.curPiece.shape);
         }
     }
 }
 
Прописать свои методы.
Конечно наследование от QObject'а поинтереснее.