当前位置: 首页 > news >正文

【Qt】常见问题

1.存在未解析的标识符

将build文件夹删掉重新编译。

2.左侧项目目录栏无法删除已添加项目

打开目标项目上一级的pro文件,将目标文件名字注释或者删除掉,最后保存,qt就会自动更新,将该项目隐藏掉。

3.在qt creator下添加槽函数出现no documents matching “ui_xxx.h”,不能添加信号和槽

img
文件名大小写不一致
img

4.未找到xxx.obj

img
出现该问题原因是调用了一个只声明没实现的函数(头文件声明了,源文件没实现)

5.指针值为0xfeeefeee

OXFeeeFeee指针的含义_0xfeeefeee-CSDN博客

此值的含义为: 此指针指向的位置已经被释放了, 但释放后,又错误的重新调用了这个无效指针。

0xfeeefeee的含义为: 指针指向的空间已经被DELETE释放掉,但程序在未给该指针重新赋值前,又错误的调用了这个无效的指针

内存中常见异常值的解释(0xcccccccc 0xcdcdcdcd 0xfeeefeee等)_0xfeeefeee是什么-CSDN博客

6.发送一次信号,槽函数多次触发

QT发射一次信号,槽函数执行了多次的背后思考-CSDN博客

槽函数会被执行多次的问题原因及解决方法_为什么槽函数不能显示多次定义-CSDN博客

1 √Qt::UniqueConnection

目前使用的解决方法是,再绑定信号槽的时候,connect添加第五个参数Qt::UniqueConnection(表示如果该信号以前没连接过,则连接它,返回true,如果以前连接过,则不再连接,返回false)

注意**:该参数对匿名函数形式的连接****无效**

        connect(dynamic_cast<DeviceMainView*>(w),&DeviceMainView::sigShowDeviceToLeft,this,[=](){emit sigShowDevicesToLeft();SCDebug<<"fff3";},Qt::UniqueConnection);

2.disconnect

1 × 在每次connert前先disconnect一次(还是会多次触发)

//1 √ 参数限制 防止槽函数被多次触发
//connect(this,&NewDeviceSettingWidget::sigNavButtonMenuAction,dynamic_cast<DeviceMainView*>(w),&DeviceMainView::slotNavButtonMenuAction,Qt::UniqueConnection);//2 × disconnect 先断开连接 再重新连接 ?还是会多次触发QMetaObject::Connection connectHandler = connect(this,&NewDeviceSettingWidget::sigNavButtonMenuAction,dynamic_cast<DeviceMainView*>(w),&DeviceMainView::slotNavButtonMenuAction);
disconnect(connectHandler);
connect(this,&NewDeviceSettingWidget::sigNavButtonMenuAction,dynamic_cast<DeviceMainView*>(w),&DeviceMainView::slotNavButtonMenuAction);

2 ?每次绑定的环境失效前,执行disconnect()函数

每次绑定的环境失效前(如在一个对话框中被绑定,该对话框被关闭则视为失效),执行disconnect()函数,将该绑定解除。

思考:

对话框被关闭,意味着将会调用void Widget::closeEvent(QCloseEvent *event)函数,那么可以在此函数中判断,关闭窗口时,发送信号给connect所在类,然后执行disconnect函数,解除连接关系。

7.debug模式下,运行点击程序会跳到不相干的地方,一直停在此处

原因:历史断点(之前打的断点)问题

解决:删掉所有历史断点就可以了

8 debug 运行 提示ui_xxx.h 不存在

前提删过相关文件 以为重构编译可以重新生成 自定义了路径

img
解决:整个文件夹删掉 重构(之前只清空了文件夹,文件夹没有删掉)

9 fatal error LNK1201:写入程序数据库“***.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够…

重新构建时,程序正在运行,关掉程序

10 ? Cannot write file .pri: 另一个程序正在使用此文件,进程无法访问。【 右键添加已存在文件】

img

11 q

【填坑】解决“要继续此操作,至少需要一个有效且已启用的储存库”问题_要继续此操作,至少需要一个有效且已启用的储存库-CSDN博客
维护QT添加或移除组件_此操作至少需要一个处于启用状态的有效资料档案库-CSDN博客

12 类名变紫色 应该为红色 相关报错

img
原因:前两行宏中间有空格导致
在这里插入图片描述

13 【Debug】LINK : fatal error LNK1104: 无法打开文件“XXX.dll”

重新debug一次就好了

14 【构建】dependent “*.ui” does not exist.

qt构建错误: dependent “*.h” does not exist. - 我来乔23 - 博客园 (cnblogs.com)
在这里插入图片描述

原因:之前添加了该文件后又删除,可能项目文件没有更新,查看所在pro文件后发现没有删除该文件的声明
尝试了重新清除、qmake、构建 还是不可以
解决:pro文件相关代码删除后再编译就可以了。

15 无法解析的外部符号

在这里插入图片描述
原因
所在pro里没有添加对应的依赖库
解决
加上对应的依赖库
在这里插入图片描述

16 【warning】allocating an unneeded temporary container [clazy-container-anti-pattern] 分配不需要的临时容器

在这里插入图片描述
[How to fix foreach warning: allocating an unneeded temporary container -Wclazy-container-anti-pattern
原因

解决

相关文章:

  • Redis集群模型
  • Mysql Day04
  • Java 使用 ant.jar 执行 SQL 脚本文件
  • ruoyi若依框架SpringSecurity实现分析
  • 基于NSGA-II的深度迁移学习
  • 零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法
  • MySQL数据库基础与SELECT语句使用梳理
  • 骨科器械行业分析:市场规模为360亿元
  • [缓存] - Redis
  • ClickHouse--01--简介
  • [高性能] - 缓存架构
  • AJAX——认识URL
  • 风行智能电视N39S、N40 强制刷机升级方法,附刷机升级数据MstarUpgrade.bin
  • MATLAB语音去噪系统
  • Stable Diffusion 模型下载:RealCartoon-Realistic - V13
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • CSS盒模型深入
  • JAVA_NIO系列——Channel和Buffer详解
  • Java到底能干嘛?
  • Service Worker
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 给github项目添加CI badge
  • 记录一下第一次使用npm
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 前言-如何学习区块链
  • 全栈开发——Linux
  • 我看到的前端
  • 7行Python代码的人脸识别
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 移动端高清、多屏适配方案
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​人工智能书单(数学基础篇)
  • $$$$GB2312-80区位编码表$$$$
  • $.ajax()方法详解
  • (待修改)PyG安装步骤
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (转)Scala的“=”符号简介
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .Net Core 中间件验签
  • .Net FrameWork总结
  • .Net Web窗口页属性
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 的字符串暂存池
  • .NET框架设计—常被忽视的C#设计技巧
  • .net连接MySQL的方法
  • .NET企业级应用架构设计系列之技术选型
  • .sdf和.msp文件读取
  • @font-face 用字体画图标
  • [Android]创建TabBar