[爬坑记录] Qt 代码卡住 不发信号 不触发槽
先让我激动一会儿 [捂脸]
最近在用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 代码卡住 不发信号 不触发槽的更多相关文章
- mybatis-generator 详细配置及使用,爬坑记录
mybatis-generator 详细配置及使用,爬坑记录 提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题. 如果失败,建议使用相同的项目结构, ...
- centos7安装Mysql爬坑记录
centos7安装Mysql爬坑记录 查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...
- elasticsearch 单节点搭建与爬坑记录
elasticsearch 单节点搭建与爬坑记录 prepare 虚拟机或者云服务器(这里用的是阿里云ECS) linux---centos7 安装完毕的jdk 相应的安装包(在https:/ ...
- 03、Swagger2和Springmvc整合详细记录(爬坑记录)
时间 内容 备注 2018年6月18日 基本使用 spirngmvc整合swagger2 开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容. swagg ...
- vuex2.0.0爬坑记录 -- mutations的第一个参数state不能解构
今天在学习vuex的过程中,遇到了一个很困扰人的问题,最终利用vuex的状态快照工具logger解决了问题. 问题是这样的,我在子组件中使用了mapState()函数来将状态映射至子组件中,使子组件能 ...
- JdbcTemplate的一次爬坑记录
时隔三个多月,我终于想起我还有个博客,其实也不是忘了我这个博客,只是平时工作繁忙没时间去写博客,故今晚腾出时间来记录一下上次工作中遇到的一个问题,给园友们分享出来,以免入坑. 上个星期在工作中使用Jd ...
- Vue开发爬坑记录
1.使用eslint代码检查时,常见的的错误: 1.1 Expected indentation of 0 spaces but found 1 前面的空格个数不对.应该不能有空格. 1.2 Stri ...
- 开源中国/码云 README.md上传图片的爬坑记录
整理代码,将电脑中长期没有用过的代码放到码云上托管,给项目录制gif动画,在写项目README.md时使用,结果在上传图片时一直出问题,现记录下最后解决方法: 1. 最初直接将录制好的图片放入到img ...
- PDF转图片部分公式字符丢失问题解决的爬坑记录
现象 PDF教材导出到系统中,由程序将PDF转为图片后合并成一张大图供前端标注,但是在标注数学和化学学科的时候且源文件是PDF的情况下出现公式部分字符丢失的情况,如下图 原件 转换后效果 WTF! 转 ...
随机推荐
- Java枚举类型的使用,数值的二进制表示
一.Java枚举类型的使用 首先请看这段代码: package java上课; public class EnumTest { public static void main(String[] arg ...
- maven通过pom文件下载相关依赖包的网址
下载有关依赖插件的网址去MVNREPOSITORY仓库寻找对应的版本然后添加到pom文件中就可以自动下载了 网址为:https://mvnrepository.com
- 辣些数据结构的思维题(思维题好难一个都不会TAT)
洛谷P1268 树的重量 我觉得难点在于把每个叶子节点想象成分出来的叉 然后如果c是a--b这条边上分出来的,可以通过Dab,Dca,Dcb算出分叉边的长度, 长度=(Dac+Dbc-Dab)/2 怎 ...
- Ubuntu使用ipython出现版本不兼容的问题
今天租了一个ECS,然后准备安装了jupyter,准备配置,输入ipython,出现如下报错 ImportError: IPython 7.10+ supports Python 3.6 and ab ...
- 微信小程序自定义顶部导航
注释:自定义导航需要自备相应图片 一.设置自定义顶部导航 Navigation是小程序的顶部导航组件,当页面配置navigationStyle设置为custom的时候可以使用此组件替代原生导航栏. 1 ...
- Namespace declaration statement has to be the very first statement or after
解决办法:将页面文件转为utp-8无dom格式就OK了.以notepad++为例:
- windows ltsc版本没有Microsoft Store怎么解决
[背景]以前一直都是使用windows的企业版,后来发现ltsc版本更好,这个好处在这里就不多说,懂的人自然会懂.但是发现很多应用都没有,包括Microsoft Store商店都没有.下面就是解决 ...
- SpringMVC-简单参数绑定
SpringMVC-简单参数绑定 众所周知,springmvc是用来处理页面的一些请求,然后将数据再通过视图返回给用户的,前面的几篇博文中使用的都是静态数据,为了能快速入门springmvc,在 ...
- Unity3D制作3D虚拟漫游场景(二)
传送门: Unity3D制作3D虚拟漫游场景(一) -------------------------------------------------------------------------- ...
- 零基础自学Python是看书还是看视频?
很多人都碍于Python培训班的高昂费用和有限的空余时间都选择自学Python,但是没有老师帮助,显得有些迷茫,不知应该从何处学起,也不知识看书学习还是应该看视频学习.本就来谈谈这个话题. 我们先 ...