Для QToolButton : все, что вам нужно (то есть ширина, высота, х, у), которое есть в QToolButton! Взгляните здесь и вот несколько методов:
setFixedHeight ( int )
setFixedSize ( const QSize & )
setFixedSize ( int, int )
setFixedWidth ( int )
Что касается QPushButton, возможно, он не поддерживает изменение расположения значка и текста. Но, может быть, каким-то образом это возможно, например, переопределение методов paintEvent () или выполнение update () с помощью методов setStyleSheet (). (Но это не нубский способ, извините)
Кстати, здесь - это несколько интересных "измененных" виджетов Qt ...
Удачи.