先让我激动一会儿 [捂脸]

最近在用Qt做个程序 用来参加比赛 期间总共遇到两次如标题的问题 也即是 莫名其妙的不触发槽函数了 而且原因也不一样

{先说明 我学习Qt依旧只是入门级 也许入不了大佬法眼  但是也许能帮助谁呢?}

第一种情况:

  代码执行到某一个地方的时候突然卡住了 怎么都不动弹,,, 死死的卡在174行 不知道为什么

在174行之前的代码都能好好执行,,, 但是就是会卡在174行。。。

直到因为使用VS的习惯 不小心按下了F5... 启动调试 终于看到了一个异常... (图片来自网络)

然后通过百度得知...

{{一般跟指针有关,指向不确定的内存并且试图访问}} --来自: https://blog.csdn.net/suli_fly/article/details/21594977

大概就是java里面的空指针异常吧。。。 然后仔细检查了可能出现野指针的地方,,,

发现调用的对象指向的内存在执行到这里之前就被释放了.....

接着 修改了代码 修复了.... (除了问题之后第一件事情居然不是想到调试.... 该死QAQ... 但是Qt Creator调试是真的慢(狡辩))

具体是 本来需要实例化一个类之后给他传一个参数的 但是死活写不对代码,,, 然后就想了一个偏方,在实例化完之后,再通过设置器传递参数进去。。。

所以 代码是这样的

但是 这样就会有一个问题 就是 在NW对象实例化完成之前 代码似乎就执行到这里了 所以 第二行实际上传了一个NULL进去... 所以 上面会出错  (第一行是解决了构造参数传参的问题之后)

这里的话 解释的不一定对 但是 NW确实是NULL 这个可以通过qDebug()来输出地址确定

所以 偏方是不行的 最终还是弄明白了Qt怎么重写构造函数

第二个

  这个是最中二的错误....

  

  这里需要如上一个问题中一样 传递一个NW对象进去.... 我实在是想不通我为啥会写个this进去(这个代码就是在NW对象那个类里面)...

  所以 造成的情况就是... 所有的信号、槽全部失效了,,, 这就导致

代码执行到类似于这样的地方 就完全卡死了 一直阻塞.................

具体原因的话。。。 就不知道了... 大概需要了解Qt的工作原理吧... 似乎和静态方法不能使用this指针是一个原因

[爬坑记录] Qt 代码卡住 不发信号 不触发槽的更多相关文章

  1. mybatis-generator 详细配置及使用,爬坑记录

    mybatis-generator 详细配置及使用,爬坑记录 提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题. 如果失败,建议使用相同的项目结构, ...

  2. centos7安装Mysql爬坑记录

    centos7安装Mysql爬坑记录   查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...

  3. elasticsearch 单节点搭建与爬坑记录

    elasticsearch 单节点搭建与爬坑记录   prepare   虚拟机或者云服务器(这里用的是阿里云ECS) linux---centos7 安装完毕的jdk 相应的安装包(在https:/ ...

  4. 03、Swagger2和Springmvc整合详细记录(爬坑记录)

    时间 内容 备注 2018年6月18日 基本使用 spirngmvc整合swagger2 开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容. swagg ...

  5. vuex2.0.0爬坑记录 -- mutations的第一个参数state不能解构

    今天在学习vuex的过程中,遇到了一个很困扰人的问题,最终利用vuex的状态快照工具logger解决了问题. 问题是这样的,我在子组件中使用了mapState()函数来将状态映射至子组件中,使子组件能 ...

  6. JdbcTemplate的一次爬坑记录

    时隔三个多月,我终于想起我还有个博客,其实也不是忘了我这个博客,只是平时工作繁忙没时间去写博客,故今晚腾出时间来记录一下上次工作中遇到的一个问题,给园友们分享出来,以免入坑. 上个星期在工作中使用Jd ...

  7. Vue开发爬坑记录

    1.使用eslint代码检查时,常见的的错误: 1.1 Expected indentation of 0 spaces but found 1 前面的空格个数不对.应该不能有空格. 1.2 Stri ...

  8. 开源中国/码云 README.md上传图片的爬坑记录

    整理代码,将电脑中长期没有用过的代码放到码云上托管,给项目录制gif动画,在写项目README.md时使用,结果在上传图片时一直出问题,现记录下最后解决方法: 1. 最初直接将录制好的图片放入到img ...

  9. PDF转图片部分公式字符丢失问题解决的爬坑记录

    现象 PDF教材导出到系统中,由程序将PDF转为图片后合并成一张大图供前端标注,但是在标注数学和化学学科的时候且源文件是PDF的情况下出现公式部分字符丢失的情况,如下图 原件 转换后效果 WTF! 转 ...

随机推荐

  1. 微信小程序:如何判断数组中的条数?

    可以<view wx:if="{{list.length == 0}}"> </view> 可以在 {{}} 内进行简单的运算,包括三元运算符.逻辑判断.算 ...

  2. C语言-无符号数与有符号数不为人知的秘密

    一.无符号数与有符号数 1.计算机中的符号位 数据类型的最高位用于标识数据的符号 -最高位为1,表明这个数为负数 -最高位为0,表明这个数为正数 #include <stdio.h> in ...

  3. python 中 if __name__ == '__main__' 判断的作用

    假设这样一个a.py文件 def fun1(): ........ def fun2(): ......... if __name__=='__main__': ......#执行的一些语句 当你执行 ...

  4. springboot中使用kaptcha验证码

    maven依赖 <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptc ...

  5. 使用PHP链接MySQL

    一.使用PHP查询MySQL数据库: 1.通过PHP来访问MySQL的步骤是: 连接到MySQL 选择操作的数据库 创建查询的字段 执行查询的语句 检索出结果并在网页上显示 断开与MySQL的连接 我 ...

  6. hadoop搭建HA集群之后不能自动切换namenode

    在搭好HA集群之后,想测试一下集群的高可用性,于是先把active的namenode给停掉: hadoop-daemon.sh stop namenode 或者直接kill掉该节点namenode的对 ...

  7. easyui只显示年月,时间格式

    <div > <input id="db" /> </div> <script> /*power by showbo http:// ...

  8. 《深入理解Java虚拟机》读书笔记十二

    第十二章  Java内存模型与线程 1.硬件效率与一致性 由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cac ...

  9. ubuntu18+caffe+cuda

    昨天安装caffe,因为用的是cuda10.2,遇到各种问题,最终也没有安装成功.使用cmake配置成功.生成成功.编译的时候报错. /usr/local/cuda/include/cuda_runt ...

  10. 小匠第二周期打卡笔记-Task04

    一.机器翻译及相关技术 机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经网络翻译(NMT). 主要特征:输出是单词序列而不是单个单词.输出序列的长度可能与 ...