Why dont you simply set QPushButton to flat ?
see QPushButton::setFlat