Я не учился по книгам, и возможно этот подход будет немного некорректен с точки зрения полноценного изучения Pyqt. Если правильно понимаю нужно что-то вроде
как вариант использовать qss стили. Кнопка выше как пример. Позиционирование через Qh/Qv layout'ы. вот код для такой кнопки:
collate = QPushButton("Collate")
# Style sheet for button
collate.setStyleSheet("QPushButton {background-color: rgb(51,122,183); color: White; border-radius: 4px;}"
"QPushButton:pressed {background-color:rgb(31,101,163) ; }")