How is QPixmap::grabWidget() supposed to draw a cursor? It does screen captures of widgets into pixmaps, it doesn't draw anything.

Not only that, the QPixmap::grabWidget() method is obsolete and should not be used in new code. It will eventually be eliminated from the QPixmap class. You should be using QWidget::grab() instead.