Trouble getting your QPushButtons to be the size you really want? read on...
I spent a fair amout of time banging my head against the wall trying to figure out why QPushButton's take up significantly more room then QToolButton's. All it took was putting a QPushButton side by side with a QToolBar using the same QSizePolicy to see the difference.

note that the QSizePolicy for both buttons is QSizePolicy(Maximum,Maximum).
The big difference is that QPushButtons can be "default" buttons. The "default" button is executed on Enter or Return keypresses. Extra space is left arround QPushButtons to allow for annotating the current "default" button with a highlighted frame.