Just let Qt do its work. If by drawing directly on QWidget you mean subclassing it and rewriting its Paint() method - don't do it unless you absolutely have to. Or, when you need to provide a delegate for a view.
So far I've not had the necessity to dive that deep.
And since you can display (and scale) images and videos using QLabel, push buttons can be readily supplied with an icon... I just had not need.
Then again, your needs might differ.
-
-
-
-
-
-
-
-
-
-
-
-
-
How to paint to pixmap ?
Moved Unsolved Qt for Python -
-
QPainter.begin
Unsolved General and Desktop -
-
-
-
-