I'm trying to accomplish some QPushButton-stylechanges, and need some help.

My aim is the following behaviour

Button Idle: White text on grey background
Button Pressed: White text on blue background
Button Idle+Focused: White text on grey background, border around it.
Button Pressed+Focused: White text on blue background, border around it.

I know how to create the mentioned looks using style sheets, but I'm not sure how to make it all come together.

As a test I did the following in a test application:
QPushButton { background-color: grey; }
QPushButton:focusressed { background-color: black; }
QPushButton:focus { background-color: green; }

That worked quite well, except that my button had focus by default, without me really understanding why. Could I reach my goal doing something similar?

How do I press/release a button and focus/unfocus it in my code? I tried calling click() without seeing any difference, but that might have been because of errors in my stylesheet I guess.