[爬坑记录] 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! 转 ...
随机推荐
- IntelliJ IDEA 2019.3安装与激活(附注册码)
转载声明:本文是根据 https://segmentfault.com/a/1190000021220727?utm_source=tag-newest 并结合个人的安装完成情况进行了改动,从而生成此 ...
- 【已解决】使用 yarn 安装时,报错node_modules\node sass:Command failed.
npm install -g mirror-config-china --registry=http://registry.npm.taobao.org npm install node-sass y ...
- C语言链表的中间结点
给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4, ...
- 条件锁Condition
"""设计场景:timo先说一句,亚索再说一句timo: timo队长正在待命yasuo: 面对疾风吧timo: timo整装待发yasuo: 哈杀gay "& ...
- 简写函数字面量(function literal)
如果函数的参数在函数体内只出现一次,则可以使用下划线代替: val f1 = (_: Int) + (_: Int) //等价于 val f2 = (x: Int, y: Int) => x + ...
- SSM项目中的.tld文件是什么,有什么作用?怎么自定义tld文件
原文链接:https://www.cnblogs.com/guaishoubiubiu/p/8721277.html TLD术语解释:标签库描述文件,如要在JSP页面中使用自定义JSP标签,必须首先定 ...
- Microsonf visual c++ 14+ 离线内网安装
内网离线安装方法:先下载官方的visualcppbuildtools: <br href=http://go.microsoft.com/fwlink/?LinkId=691126 >& ...
- linux做免密登录,成功分发公钥后登录主机依旧需要输入密码的问题解决
问题描述 在主机A上用ssh-keygen生成密钥对后,用ssh-copy-id命令将公钥成功copy到主机B上后,测试从A免密登录B,但是依旧需要输入主机B的密码后才能登录. 出现此错误的原因 如果 ...
- DOM盒模型和位置 client offset scroll 和滚动的关系
DOM盒模型和位置 client offset scroll 和滚动的关系 概览 在dom里面有几个描述盒子位置信息的值, pading border margin width height clie ...
- JS高级---一个神奇的原型链
一个神奇的原型链 <script> var divObj=document.getElementById("dv"); console.dir(divObj); //d ...