当前位置: 首页 > article >正文

Qt小知识-Q_GLOBAL_STATIC

你还在为创建全局静态对象烦恼嘛,它来了!它来了!

qt5提供了两个宏定义Q_GLOBAL_STATIC和Q_GLOBAL_STATIC_WITH_ARGS来实现。可以创建一个全局静态对象,对象在第一次使用时初始化自身,这意味着它不会增加应用程序或库的加载时间。此外,该对象在所有平台上都以线程安全的方式初始化。

官网 QGlobalStatic Struct | Qt Core 5.15.18

简单例子

globalclass.h

#ifndef GLOBALCLASS_H
#define GLOBALCLASS_H

#include <QObject>

class globalClass
{
public:
    globalClass(QString tstr = "");
    void test();
};
Q_GLOBAL_STATIC(globalClass,GLOBALCLASS)
Q_GLOBAL_STATIC_WITH_ARGS(globalClass,GLOBALCLASS2, ("Hello word"))

#endif // GLOBALCLASS_H

globalclass.cpp

#include "globalclass.h"
#include <QDebug>
globalClass::globalClass(QString tstr)
{
    qDebug() << tstr << this;
}

void globalClass::test()
{
    qDebug() << "oooo";
}

使用

//#include "globalclass.h"

GLOBALCLASS->test();

GLOBALCLASS2()->test();


http://www.kler.cn/a/398630.html

相关文章:

  • c++调用 c# dll 通过 clr (详细避坑)
  • linux笔记(防火墙)
  • 【网络安全】网络安全防护体系
  • Vue3 模板语法
  • 计算机视觉在自动驾驶汽车中的应用
  • GPIO相关的寄存器(重要)
  • 鸿蒙next版开发:分析JS Crash(进程崩溃)
  • AJAX笔记 (速通精华版)
  • 智能运维:提升效率与响应速度的关键能力
  • TikZ 绘图学习笔记
  • 多目标优化算法:多目标蛇鹫优化算法(MOSBOA)求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6,提供完整MATLAB代码
  • 思科设备如何配置第二个radius服务器?
  • 基于微信小程序的校园助手+LW示例参考
  • 【3D Slicer】的小白入门使用指南九
  • 【HOT100第五天】搜索二维矩阵 II,相交链表,反转链表,回文链表
  • MATLAB实现历史模拟法计算VaR(Value at Risk)
  • [Meachines] [Hard] Yummy 任意文件下载+JWT签名绕过+SQLI+定时任务劫持+hg权限提升+rsync权限提升
  • Scala的Array(1)
  • 服务端高并发分布式结构进阶之路
  • QEMU 模拟器中运行的 Linux 系统
  • word 中长公式换行 / 对齐 | Mathtype 中长公式换行拆分 | latex 中长公式换行
  • linux笔记(防火墙)
  • 常见的压缩数据结构
  • 软考之面向服务架构SOA-通信方法
  • DP动态规划基础题(Kadane算法)
  • springboot vue海洋馆预约系统源码和答辩PPT论文