Los widgets no se muestran en la aplicación Qt básica (QMainWindow)

Soy nuevo en Qt y estoy haciendo algo de práctica con ejemplos simples.

Solo quería probar mis conocimientos con una aplicación simple, mediante codificación, en la que el usuario escribe un texto en el widget QLineEdit y el texto se mostrará en QLabel. No hay necesidad de que sea útil. Solo quiero intentarlo.

Al compilar la aplicación, no obtengo errores. Sin embargo, los widgets QLabel y QLineEdit no son visibles cuando se abre la ventana.

Mis códigos están aquí:

Window.h

#ifndef WINDOW_H
#define WINDOW_H

#include <QMainWindow>

class QGridLayout;
class QLabel;
class QLineEdit;

class Window : public QMainWindow
{
    Q_OBJECT

public:
    explicit Window(QWidget *parent = 0);

private:
    QGridLayout *mainLayout;
    QLabel *label;
    QLineEdit *lineEdit;
};

#endif // WINDOW_H

Window.cpp

#include "Window.h"
#include <QGridLayout>
#include <QLineEdit>
#include <QLabel>

Window::Window(QWidget *parent)
    : QMainWindow(parent)
{
    mainLayout = new QGridLayout;
    label = new QLabel(tr("Text"));
    lineEdit = new QLineEdit;

    mainLayout->addWidget(label, 0, 0);
    mainLayout->addWidget(lineEdit, 1, 0);
    setLayout(mainLayout);

    connect(lineEdit, SIGNAL(textChanged(QString)),
            label, SLOT(setText(QString)));
}

main.cpp

#include <QApplication>
#include "Window.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    Window window;
    window.show();

    return app.exec();
}

No pude encontrar ningún error en el código.

Gracias por adelantado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta