我是 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
窗口.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();
}
我在代码中找不到任何错误。
提前致谢。