It might prove simpler to subclass QPushButton and reimplement its paintEvent. It depends what exact effect you want to achieve and if you want to follow the style of the rest of the application or not necessary.