Виджеты не отображаются в базовом приложении Qt (QMainWindow)

Я новичок в Qt и занимаюсь практикой с простыми примерами.

Я просто хотел проверить свои знания с помощью простого приложения с помощью кодирования, в котором пользователь печатает текст в виджете QLineEdit, и этот текст будет отображаться в QLabel. Нет необходимости, чтобы это было полезно. Я просто хочу попробовать.

При компиляции приложения я не получаю ошибок. Однако виджеты QLabel и QLineEdit не отображаются при открытии окна.

Мои коды здесь:

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();
}

Я не смог найти ошибку в коде.

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос