关于Qt下中静态变量的使用

2023-11-04

需求是这样的,在主窗口类Widget中启动一个子线程去执行录音操作,然后使用共享的静态变量来结束录音,在Widget类中发出停止命令,MyThread类则停止录音操作,

status定义:

class MyThread : public QObject
{
    Q_OBJECT
public:
    explicit MyThread(QObject *parent = nullptr);
    AVFormatContext* open_media(); //打开音频设备

    static int status;//用于控制录制

只截了一部分代码,status是定义在MyThread类中的一个静态成员变量,在里面不能进行初始化如:

static int status = 0;//用于控制录制

编译器会报错:可以自己尝试一下。

在使用静态变量之前必须进行初始化,如果不进行初始化的话就会报错:

就像这样的错误,那么初始化在哪里呢?我是直接在main函数前面进行初始化的:

#include "widget.h"

#include <QApplication>

int MyThread::status = 0;//初始化状态变量
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

在其他文件中如果要使用MyThread里面的静态成员变量status,必须包含相应的头文件,使用方式MyThead::status = 1;这样可以访问共享变量了

大概就是这样

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于Qt下中静态变量的使用 的相关文章

  • 源码编译安装httpd-2.4.39

    环境 apr 1 7 0 tar bz2 apr util 1 6 1 tar bz2 httpd 2 4 39 tar bz2 1 合并源码文件 tar xvf apr 1 7 0 tar bz2 tar xvf apr util 1 6
  • 2020-12-13 51单片机笔记

    单片机型号选择错误 该STC软件左上角的单片机型号 显示不出来 LCD1602显示屏插反 extern uchar time 报错没定义 在其他文件运用时也要加上uchar time 不能直接使用 下图是错误案例 在 c文件定义变量 然后在
  • 华为eNSP配置PPP协议中的CHAP认证

    CHAP认证 CHAP认证过程比较复杂 三次握手机制 使用密文格式发送CHAP认证信息 由认证方发起CHAP认证 有效避免暴力破解 在链路建立成功后具有再次认证检测机制 目前在企业网的远程接入环境中用的比较常见 两个路由器都要加模块 路由器
  • 把照片改成指定像素基于PS(证件照修改为制定像素大小)

    下图所示的图片当前宽度为1064像素 高度为1972像素 右键图片打开 属性 对话框可查看尺寸 接下来我们想将图片尺寸改为宽度1000像素 高度1000像素 同时图片不能变形 操作步骤 1 打开PS软件 按Ctrl N组合键打开 新建文档
  • [译]Android 中 Kotlin 与 RecyclerView 高性能列表

    翻译说明 原标题 Kotlin RecyclerView for High Performance Lists in Android 原文地址 www andreasjakl com 原文作者 Andreas Jakl RecyclerVi
  • nginx 配置 http, https可以同时访问(报错: The plain HTTP request was sent to HTTPS port)

    Aphorism full stack 前言 最近微信项目升级 https 域名 购买好域名后 开放 443 端口后 http 访问竟然出错了 The plain HTTP request was sent to HTTPS port 导致
  • crypto-js 加密、解密使用方法,复制就能用

    一 安装crypto js npm install crypto js 二 封装加密方法 单独在js中封装一个js存放这个方法 后期使用再引入 import CryptoJS from crypto js let aesKeyInfo ke
  • algorithm头文件下的函数

    非修改性序列操作 12个 循环 对序列中的每个元素执行某操作 for each 查找 在序列中找出某个值的第一次出现的位置 find 在序列中找出符合某谓词的第一个元素 find if 在序列中找出一子序列的最后一次出现的位置 find e
  • anaconda

    卸载 直接删除 下载 ENTER anaconda3 和 conda 然后清除 bashrc 中conda相关的字段 安装 sudo Anaconda3 5 2 0 Linux x86 64 sh u u表示覆盖安装 中是默认值 询问过程要
  • proc文件系统探索 之 根目录下的文件[七]

    主要参考内核文档和红帽文档对 gt cat proc meminfo 读出的内核信息进行解释 下篇文章会简单对读出该信息的代码进行简单的分析 MemTotal 507480 kBMemFree 10800 kBBuffers 34728 k
  • 【C语言】课程设计实训——人事管理系统

    目录 题目 总体设计 详细设计 系统实现 题目 1 需求分析 人事档案信息采用文件存储 要提供文件的输入输出操作 根据学院人事的变动情况 可添加或删除记录 因而要提供文件的添加删除操作 能根据编号和姓名进档案查询 所提供文件的查找操作 可以
  • NC01--股票(一次交易)、合并k个有序链表、字符串的排列、接雨水问题、输出二叉树的右视图

    1 股票 一次交易 https www nowcoder com practice 64b4262d4e6d4f6181cd45446a5821ec tpId 117 tqId 37717 rp 1 ru activity oj qru t
  • 递归的基本运用与实践

    一 递归的概念 简单的说 递归就是方法自己调用自己 每次调用时传入不同的变量 递归有利于编程者解决复杂的问题 同时可以让代码变得简洁 二 递归调用机制 入门案例 累加代码实现 public static int accumulation i
  • 基于Java对STOMP服务端进行测试

    目录 一 目标 二 服务端改动 三 测试程序 3 1 依赖 3 1 用户量和消息数 3 2 测试端口是否可用 3 3 客户端连接 订阅测试 3 4 数据发布 断开连接测试 四 消费者会话处理程序 五 生产者会话处理程序 六 测试结果 一 目
  • B/S三层架构[转载]

    三层架构 3 tier application 通常意义上的三层架构就是将整个业务应用划分为 表现层 UI 业务逻辑层 BLL 数据访问层 DAL 区分层次的目的即为了 高内聚 低耦合 的思想 表现层 UI 通俗讲就是展现给用户的界面 即用
  • 多态的理解

    多态的概念 多态的概念 简单来讲 多态的意思就是多种形态 或者说 去完成某个行为 当不同的对象去完成时会产生出不同的状态 也可以理解为我们人去完成同一件事情 但是每一个人去完成 都会产生不一样的结果 多态构成的条件 1 必须通过父类的指针或
  • qt实现9×9数独游戏

    qt实现的数独小游戏 资源有可下载直接跑的exe enigma已经打包好 源码可私信 部分代码 include widget h include ui widget h include form h include
  • python中request请求库与BeautifulSoup解析库的用法

    python中request请求库与BeautifulSoup解析库的用法 request 安装 打开cmd窗口 检查python环境 需要python3 7版本及以上 然后输入 下载requests库 pip install reques
  • element中使用v-if指令导致表单出现自动验证的问题

    当使用了element中的表单验证的时候 需注意是否在同一个标签中使用了 v if的指令 当时使用了v if时 切换显示效果时 表单出现了自动验证 解决办法 使用v show代替 在页面元素不多的话使用v show代替即可解决表单自动验证的

随机推荐

  • VS2017 无法连接到Web服务器“IIS Express”终极解决方案

    VS2017 无法连接到Web服务器 IIS Express 终极解决方案 今天日了gou了 一大早打开VS2017的时候出现无法连接到Web服务器 IIS Express 的错误 然后必应了一下 再谷歌了一下找到的解决方法也都千篇一律 奈
  • 框架分析(4)-Spring

    框架分析 4 Spring 专栏介绍 Spring 核心特点 控制反转 IoC 面向切面编程 AOP 组件化 集成 简化开发 总结 优缺点 优点 高度可扩展 控制反转 IoC 面向切面编程 AOP 集成支持 轻量级 测试友好 社区活跃 缺点
  • props和state的区别

    区别 1 props是传递给组件的 类似于函数的形参 而state是在组件内部被组件自己管理的 类似于在一个函数内声明的变量 2 props是不可以被修改的 state是多变的 可被修改的 开发react组件 最常用到的两个引起组件渲染的可
  • springboot 日志配置

    logback xml与logback spring xml 配置文件的加载顺序 logback xml gt application properties gt logback spring xml 如果同时存在logback xml和l
  • C#字符串数值前加0将1转化成01

    定义两个数值字符串 string str1 1 string str2 01 在我们的主观感受里这两个在进行数值比较时都是1 应该是等价的 但进行字符比对时则不尽然 转化处理 str1 Convert ToDouble str1 ToStr
  • oracle下载页面改版后的 JDK 下载、安装及其环境配置

    oracle下载页面改版后的 JDK 下载 安装及其环境配置 时间 2020 06 10 下载链接 https www oracle com java technologies javase downloads html 变量名 JAVA
  • Onnx推理框架

    Onnx推理框架 ONNX 即 Open Neural Network Exchange 当我们使用Pytorch或者TensorFlow训练完成后 通常会将其模型转化为ONNX模型 ONNX模型一般用于中间部署阶段 然后再拿转化后的ONN
  • Java的快速排序代码

    public static void quickSort int arr int start int end if start lt end int partitionIndex partition arr start end quickS
  • ETL学习心得:探求数据仓库关键环节ETL的本质

    原文链接 http hi baidu com horsewhite blog item b167f81f6924ef0a304e15a0 html 做数据仓库系统 ETL是关键的一环 说大了 ETL是数据整合解决方案 说小了 就是倒数据的工
  • spring系统架构

    一 ioc控制反转 业务层每次都要new一个新的对象来实现对实例的创建 耦合度偏高 使用IOC的最终目的是解除多个类之间的耦合性 降低代码的耦合度 IOC核心概念 ioc容器 spring容器 负责对象的创建 初始化等一系列工作 在ioc容
  • 【读书笔记】游戏开发原理

    游戏开发原理读书笔记 Contents 游戏开发原理读书笔记 一 游戏与游戏设计 1 游戏类型与平台 1 1 类型和子类型 1 2 出品类型 1 3 平台 1 4 图形类型 1 5 交付方式 1 6 视角 2 video game剖析 2
  • Unity3D之ForceMode模式

    ForceMode是一种在物理引擎中使用的模式 用于模拟对象之间的力和运动 它常用于游戏开发 虚拟现实和机器人学等领域 ForceMode通常应用于刚体 Rigidbody 对象 通过施加力来影响物体的运动 它提供了不同的模式 可以根据需求
  • gitee使用教程--初学者【超易懂】

    将本地文件上传至git 1 进入gitee官网 注册并登录 工作台 Gitee com 2 点击右上角加号 选择 新建仓库 3 给自己的仓库添加名称与项目描述 4 创建好之后会看到自己的仓库地址 5 在本地新建一个文件夹用来存放需要上传到g
  • 常量和标识符

    常量 常量是固定值 在程序执行期间不会改变 这些固定的值 又叫做字面量 常量可以是任何的基本数据类型 可分为整型数字 浮点数字 字符 字符串和布尔值 常量就像是常规的变量 只不过常量的值在定义后不能进行修改 在 C 中 有两种简单的定义常量
  • 用户端APP自动化测试_L2

    目录 appium server 环境安装 capability 进阶用法 元素定位工具 高级定位技巧 xpath 定位 高级定位技巧 css 定位与原生定位 特殊控件 toast 识别 显式等待高级使用 高级控件交互方法 设备交互api
  • sass中变量引入html,Sass变量、嵌套_html/css_WEB-ITnose

    声明变量 定义变量的语法 Sass 的变量包括三个部分 声明变量的符号 变量名称 赋予变量的值 简单的示例 假设你的按钮颜色可以给其声明几个变量 1 brand primary darken 428bca 6 5 default 337ab
  • rust使用rhai和actix实现web接口

    初始化项目 cargo new acix rhai web 依赖 Cargo toml package name actix sim yt version 0 1 0 edition 2021 See more keys and their
  • flutter图片显示

    图片显示 本地图片显示 首先项目根目录下创建一个用于放置图片的文件夹 将要显示的图片放进去 如下图 然后在项目根目录的pubspec yaml文件中的assets下添加图片路径 如下图 在需要显示图片的地方使用Image asset 进行加
  • 2021CCPC河南省省赛

    文章目录 1001 收集金币 1002 使用技能 1003 欢度佳节 1005 闯关游戏 1010 小凯的书架 1001 收集金币 题目链接 dp i 0 表示前i个事件都没有选择使用技能 dp i 1 表示前i个事件已经选择使用技能了 i
  • 关于Qt下中静态变量的使用

    需求是这样的 在主窗口类Widget中启动一个子线程去执行录音操作 然后使用共享的静态变量来结束录音 在Widget类中发出停止命令 MyThread类则停止录音操作 status定义 class MyThread public QObje