I've tried just as you sad:

I've added QGridLayout to *.ui file and:

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);

QPushButton button("Click");

int rows = ui->gridLayout->rowCount();
int cols = ui->gridLayout->columnCount();

ui->gridLayout->addWidget(&button,rows,cols,0);
}

but when I compile the program there in no button.