C++ 全局变量传递空值

C++ 全局变量传递空值,c++,qt,C++,Qt,我正在尝试将字符串值从mainwindow.cpp传递到userdetails.cpp。我曾经用过全局变量。当程序运行时,它不会将变量值传递给userdetails.cpp。当我使用qDebug(globelusername.toLatin1())时,它不显示任何值。这段代码中的错误是什么?globelusername表示全局变量 主窗口 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #includ

我正在尝试将字符串值从mainwindow.cpp传递到userdetails.cpp。我曾经用过全局变量。当程序运行时,它不会将变量值传递给userdetails.cpp。当我使用qDebug(globelusername.toLatin1())时,它不显示任何值。这段代码中的错误是什么?globelusername表示全局变量

主窗口

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "register.h"
#include "userdetails.h"

extern QString globelusername;

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
userdetails.cpp

#include "userdetails.h"
#include "ui_userdetails.h"
#include <QSqlError>
#include "mainwindow.h"
#include <iostream>

Userdetails::Userdetails(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Userdetails)

{
    ui->setupUi(this);

}

Userdetails::~Userdetails()
{

}

void Userdetails::on_pushButton_4_clicked()
{

    {
            // database connection
           ...........

            qDebug(globelusername.toLatin1() );
#包括“userdetails.h”
#包括“ui_userdetails.h”
#包括
#包括“mainwindow.h”
#包括
Userdetails::Userdetails(QWidget*父项):
QDialog(父级),
用户界面(新用户界面::用户详细信息)
{
用户界面->设置用户界面(此);
}
Userdetails::~Userdetails()
{
}
void Userdetails::在按钮上点击4次()
{
{
//数据库连接
...........
qDebug(globelusername.toLatin1());
您没有设置globelusername。而是使用以下行创建一个局部变量:

QString globelusername = username; //globlevariable
在设置值之前删除变量类型:

globelusername = username; //globlevariable
globelusername = username; //globlevariable