Виджеты не отображаются в базовом приложении 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();
}
Я не смог найти ошибку в коде.
Заранее спасибо.