@Chris-Kawa turns out, you were spot on! I had some difficulties to compile my "fix" in release configuration.
So I went and rewrote the class, with your comment in mind. I intoduced a new signal and changed the overrides accordingly.
void signalEvent(QMouseEvent::Type t, QPoint p);
now, I don't need the timer, it also works in debug as well as in release mode...
@JLimbocker Tried your code but unfortunately it does not exactly what I want. It is selecting from the beginning instead of from where I was clicking when dragging.
Problem with passing the mouse event through to the TextField is that when I do that using mouse.accepted = false. The other handler like onRelease: are not called on the MouseArea anymore which destroys my handling there. The selectAll() could be switched off when something is already selected but I do not know why that TextField's selection is starting from the beginning...
Anyone knows how to forward the mouse events to an underlying element but still have the complete handling in the MouseArea available? That would solve my question.
Nevermind - in the end it turned out the label was modeled as a separate QLabel instead of the text of the QCheckBox. Once I removed the label, and put the text inside the checkbox, I got exactly what I was asking for.