QTグローバル変数の使用方法の定義

10238 ワード

1、C、C++のようにexternを使う
2、クラスを新規作成し、グローバル変数を保存する
studentを定義します.h
#ifndef STUDENT_H
#define STUDENT_H

#include 

/*      */
class Student
{
public:
    Student();
    ~Student(){}

    QString id;             /*    */
    const static QString idDefault;/*      */
};

#endif // STUDENT_H



student.cpp
#include "student.h"
#include 

const QString Student::idDefault = "1300810434";
Student::Student()
{
    id = Student::idDefault;
    qDebug()<<"Student id"<< id ;
}


info.h
#ifndef IN_FO_H
#define IN_FO_H

#include "student.h"

/*     */
class Info
{
public:
    Info();
    static Student stu;/*      */
};

#endif // AC_PANEL_H

info.cpp
#include "info.h"
#include 

Student Info:: stu;/*     、    stu     */

Info::Info()
{
    Info::stu.id= "202000810434";
    qDebug()<<"Info id"<< Info::stu.id;
}


使用
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include "info.h"
#include 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->label->setText(Info::stu.id);/*         label、qDebug */
    qDebug() << "MainWindow id"<< Info::stu.id ;
}


MainWindow::~MainWindow()
{
    delete ui;
}


main.cpp
#include "mainwindow.h"
#include 

#include "info.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Info info;/*    */
    MainWindow w;   
    w.show();

    return a.exec();
}