I worked it out myself. There are two reasons together that make these artifacts happen: I have turned on the translucence background for the window ,and use QPainter to manually draw the window's rouned-corner background . When the mouse hover/press on the Children widgets, the update(QRect) the widget sent to window widget does not compute the background well.
When I use stylesheet to draw the background, problem solved :)