QT调用单例模式脚本

Posted suiyi78

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT调用单例模式脚本相关的知识,希望对你有一定的参考价值。

技术图片

 

创建UI脚本

#ifndef AA_H
#define AA_H

#include <QWidget>
#include <QDebug>
#include <QMutex>
#include <QLabel>
namespace Ui {
class AA;
}

class AA : public QWidget
{
    Q_OBJECT

public:
    explicit AA(QWidget *parent = nullptr);
    ~AA();






    static AA *getInstance(){
        static QMutex mutex;
        if(!self)
        {
            QMutexLocker locker(&mutex);
                       if(!self){
                           self = new AA;
                       }
                   }
                   return self;
    }
    void Function( ){
        qDebug()<<"成功";
    }
    QString value="车工";
private:
    Ui::AA *ui;
     static AA *self;
};

#endif // AA_H

改 AA。H代码

技术图片

 

#include "AA.h"
#include "ui_AA.h"
AA *AA::self = 0;
AA::AA(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::AA)
{
    ui->setupUi(this);
   qDebug()<<value;

}

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

技术图片

 

 添加内容

AA::getInstance()->value="其他";通过这个调用

技术图片

 

 

在其他脚本直接调用

 

单例模式     脚本唯一性   所以数据内容都唯一

 

主要添加   

.h   脚本添加  创建获取同一个脚本

技术图片

 

 技术图片

 

 定义一个方法

 技术图片

 

 

在。c脚本中初始化  不然报错

技术图片

 

 然后就可以调用了

 

其他

脚本调用方式

技术图片

 

添加调用脚本

创建变量

技术图片

 

 这时就可以在其中任意脚本中调用你创建的脚本变量了(新的脚本需要初始化)

 a=new AA;方式即可

 

以上是关于QT调用单例模式脚本的主要内容,如果未能解决你的问题,请参考以下文章

小功能⭐️Unity单例模式

小功能⭐️Unity单例模式

Qt 单例模式第一次尝试

设计模式之单例模式

如何在Qt 中实现单例模式

单例模式:Qt本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这个宏不但定义简单,还可以获得线程安全性