Qt中,经常会出现一个工程下面多个.cpp文件都需要调用或者改变某一个变量的问题,这个时候往往有两种解决办法:第一种是利用信号与槽的机制,第二种方法就是利用全局变量。下面着重说一下第二种: 

     比如说我在myLabel.h 定义了一个变量 int penSize 作为全局变量,需要用extern:

     在头文件中声明:

extern int penSize;//注意是声明不是定义,不赋值
class myLabel{
public:
//...
};

然后在myLabel.cpp中,定义它:

int penSize =2;//不要放函数里面,如下面的构造函数
myLabel ::myLabel(){
//...
}

这里要注意了,定义需要在class类的外面进行,不能放在里面,他不属于这个类。

这样的话,接下来比如在mainwindow.cpp中就可以调用这个全局变量了:

首先先在mainwindow.cpp中包含myLabel.h

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "mylabel.h"

然后就可以在mainwindow.cpp 中的某个函数调用这个全局变量,比如:

void MainWindow::on_wide_btn_clicked()
{penSize=5;
}

Qt 中使用全局变量的方法相关推荐

  1. QT中创建条形统计图的方法

    QT中创建条形统计图的方法 .pro中 QT += charts 头文件 #include <QtCharts/QChartView> #include <QtCharts/QBar ...

  2. QT中使用全局变量在多个源程序中传递变量

    使用QT5.5开发一个程序,有时需要多个源文件,包括若干个头文件和若干个定义文件.因此如何在多个源程序间开发传递变量就成了一个关键问题.一般来说在多个源程序间传递变量大概有两种方法: 一.是将全局变量 ...

  3. qt中文件读取的方法(新手入门必看)

    TxT文本文件读取 qt中三个常用的处理文件的头文件: QDataStream QTextStream QFile txt文件读取(以字符数组形式读取) Widget::Widget(QWidget ...

  4. QT中IDirect3DDevice9的Present方法失败情况的处理笔记

    这几天在试着使用QT做编辑器,然后打算使用Irrlicht作为渲染引擎.结果在集成的时候遇到了问题. 使用了Irrlicht论坛里面有人提供的QIrrlichtWidget,结果什么都画不出来.仔细跟 ...

  5. QT中Json的使用方法(类和json字符串相互转换的方法)

    在QT5.0版本以后支持对Json的使用,直接使用QT提供的json类进行数据的组织和解析. Json类 介绍 QJsonDoucument 它封装了一个完整的 JSON 文档,并且可以从 UTF-8 ...

  6. Qt中的问题和方法总结

    1. QString与String的转换 //1.QString转换String QString qstr = "hello"; string str = qstr.toStdSt ...

  7. C++ QT中的QSound使用方法

    在pro文件中添加 QT += multimedia 就可以了 转载于:https://www.cnblogs.com/Zengineer/p/4621066.html

  8. qt 添加依赖库lib_在QT中添加LIB的方法

    自动显示隐藏布局的listView 借助View的OnTouchListener接口来监听listView的滑动,通过比较与上次坐标的大小,判断滑动方向,并通过滑动方向来判断是否需显示或者隐藏对应的布 ...

  9. Qt中添加资源图片方法g

    第一步:添加Qt资源文件,往项目中添加新文件,选择Qt分类中的Qt资源文件,文件名改为"myImage",其它选项默认即可: 第二步:添加图片,先将图片文件夹Image放到与资源文 ...

最新文章

  1. Android学习系列(10)--App列表之拖拽ListView(上)
  2. python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...
  3. 云原生时代,应用架构将如何演进?
  4. sql已经完成,生成表
  5. .net数据绑定控件中的数据导出到Excel
  6. C# 多种方式发送邮件(附帮助类)
  7. java获取json中某个字段
  8. 部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务
  9. MySQL 数据库重装失败最后一步无法启动server的解决办法
  10. AE缺失Form Trapcode Form
  11. MTK通信物料供应表MT7621AT,MT7620A,WIFI6,MT7975D+MT7905D
  12. 图像文字识别:Python批量识别图片中的文字并自动改名
  13. Halcon region区域提取及区域转图像
  14. 黑苹果 macOS 无法修复磁盘 XXX 已修复
  15. 优秀logo,最基础的设计技巧(三)
  16. Phonetic symbol 辅音 - 清辅音 -- /ʃ/
  17. 推荐用户体验设计师必读的5本用户体验书籍
  18. 旅行商问题(Travelling salesman problem, TSP)
  19. Android 获取当前系统语言和切换系统语言
  20. 喜!人民币入篮;忧!欧央行下调。【济南中金点评 www.zjzx01.com】

热门文章

  1. python语言能做什么-python语言能做什么
  2. 成都专业语音转化为文字怎么样_安徽听见科技
  3. java web开发需要学习哪些知识_java web开发需要学习哪些知识?
  4. 导入php项目_商业裂变,之项目技术实战(第九节:程序框架的安装)
  5. 一些实用博客的分享(ES6详解,echart属性详解)
  6. 蓝桥2014c++真题:神奇算式
  7. ijkplayer-添加播放截图功能
  8. C++发送HTTP请求获取网页HTML代码
  9. oracle数据表丢失数据库,Oracle数据库数据丢失恢复的几种方法总结
  10. java jquery提交表单数据_[Java教程]jquery实现ajax提交表单信息