For QPushButton, changing the background , you will need to change other properties as well.
Usually QPushButton paints according to the system theme. You will need to use some image with 3D effect for the button to look better.

Also there are ways to change colors of button using custom button.