Of course a QSpinBox widget is a composition of widgets, in fact 2 widgets the spinbox and it's child the line edit) and the rule is that the upper widget get the mouse event.
In case of the spinbox it's the text line widget which takes them. The buttons in contrario aren't child widgets it's just a graphical part of the spinbox. it's rendered by the style (QXxxStyle).
To resume if you go on text edit the mouse messages go to it, other areas it is its parent - the combobox which gets them.
Now of course you should install an event filter to the line edit but it sound all like an hack, rethink more on the way you will implement and probably there is another to handle your problem without to take the mouse events!