我有一个登录页面和一个欢迎页面(如果用户可以绕过登录,就会打开)。在我的登录页面中,有一个输入用户名的编辑行,因此,为了保存用户名,我在login.h.文件中声明了一个全局变量。所以,为了保存用户名,我在login.h.My login.h文件中声明了一个全局变量。
#include <QSqlQuery>
#include <QGridLayout>
#include <QPushButton>
#include <QString>
#include <QLabel>
#include <QFrame>
#include <QSqlRecord>
#include <QFileDialog>
#include <QPixmap>
#include <QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class login : public Qlogin
{
Q_OBJECT
public:
login(QWidget *parent = nullptr);
~login();
private:
Ui::login *ui;
QString userDat; ///global variable
};
#endif // MAINWINDOW_H
我在login.cpp文件中保存了来自行编辑的用户名,就像这样。
我的login.cpp文件。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlQueryModel>
#include <QSqlQuery>
#include <QGridLayout>
#include <QPushButton>
#include <QString>
#include <QLabel>
#include <QFrame>
#include <QSqlRecord>
#include <QFileDialog>
#include <QPixmap>
#include <QMessageBox>
login::login(QWidget *parent)
: Qlogin(parent)
, ui(new Ui::login)
{
ui->setupUi(this);
userDat = ui-> login_lineEdit ->text();
}
login::~login()
{
delete ui;
}
我想在我的welcome.cpp文件中使用全局变量userDat,像这样。
ui-> welcome_lineEdit->setText(userDat);
我已经在welcome.h和welcome.cpp中包含了所有需要的头文件。但是它仍然说:userDat没有在这个范围内声明,请帮助我。
评论中的更新。
#include <QSqlQuery>
#include <QGridLayout>
#include <QPushButton>
#include <QString>
#include <QLabel>
#include <QFrame>
#include <QSqlRecord>
#include <QFileDialog>
#include <QPixmap>
#include <QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class UserData {
public:
static QString userName;
};
class login : public Qlogin
{
Q_OBJECT
public:
login(QWidget *parent = nullptr);
~login();
private:
Ui::login *ui;
};
#endif // MAINWINDOW_H
在 login.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlQueryModel>
#include <QSqlQuery>
#include <QGridLayout>
#include <QPushButton>
#include <QString>
#include <QLabel>
#include <QFrame>
#include <QSqlRecord>
#include <QFileDialog>
#include <QPixmap>
#include <QMessageBox>
QString UserData::userName = "empty";
login::login(QWidget *parent)
: Qlogin(parent)
, ui(new Ui::login)
{
ui->setupUi(this);
UserData::userName = ui-> login_lineEdit ->text();
}
login::~login()
{
delete ui;
}
而在另一个地方的某处。
ui-> welcome_lineEdit->setText(UserData::userName);