If you are concerned about the whole desktop, you can think of your application occupying the whole screen, and paint whatever u like. Simple.
You can use showFullScreen for that.

Also you can move your widget on the desktop while painting is done inside the widget. This is second approach.

Why do you think any of them wont work ?
Hint : In a screensaver, the desktop is your playground