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

【debug】QT 相关问题error汇总 QT运行闪退 QT5升级到QT6注意要点

总结一下碰到过的所有问题error以及解决方案
如果这个文档未帮助到你,仍有bug未解决,可以在下方评论留言,有偿解决。


  1. qt的UI更新之后构建后发现没有变化
    取消项目中的Shadow build的勾选,作用是取消影子构建,此后构建目录与源码处于同一目录,每次编译更新程序使用的UI文件
  2. error: ‘class QWidget’ has no member named ‘updatePlot’;
    QWidget’ has no member named ‘setInit’;
    一系列的找不到类成员
    观察ui_mainwindow.h可以发现在这里插入图片描述
    版本太低了,目前这些member是QT6的内容
  3. 如何在线更新qt
    点击安装目录里的MaintenanceTool.exe的工具
    左下角设置 添加有效的URL,添加之后可以条件测试一下是否正确
    URL在这里 https://download.qt.io/static/mirrorlist/
    选择China的任意一个

系统是windows_x86的选择清华源的这个链接
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/

e.g.将链接添加在资料档案库中
可以不填用户名+密码
可以选添加哪些组件

#更新哪些,添加哪些
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_qtcreator/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_qtcreator_gui/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_qtcreator_kits_and_debuggers/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_mingw/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt6_673/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt6_673_msvc2022/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt6_673_src_doc_examples/

在这里插入图片描述
点下一步,选择更新组件,选择要更新的部分。

  1. 提示某个组建:No such file or directory
    需要在ro工程中添加 QT += “对应的组件库名称”
    e.g. QT += core
    QT += network
    QT +=serialport

如果加入了仍然报错,可能是因为没安装对应的组件
QT安装目录下找到在这里插入图片描述
在这里插入图片描述
搜索到相应的组件库安装

5.QString 与QByteArray的转换与报错处理
跳转这个文章https://zhuanlan.zhihu.com/p/611600761

6.endl 报错
QT5中qDebug()<<“Error opening file”<<endl;是可行的
QT6中endl应该改为Qt::endl

7.QT6如何打开项目
打开.pro文件 点击configure project即可

8.QT5的项目如何在重新安装的新版QT6 编辑器中正常运行?

  • 重新安装 QT 时如果改变安装目录,可能导致已有的 QT 项目无法编译(无法识别 QT 的类等),需要在安装完毕后建立新的 QT 项目,再将已有的 cpp、ui 等文件复制到新项目所在的目录下。
    注意 新建QT项目不要选择默认的cmake 而是选择qmake 即生成.pro文件的项目

  • 注意QT5升级到QT6一定要安装这个QT5兼容组件
    QT安装目录下找到在这里插入图片描述
    添加组件:
    在这里插入图片描述
    .pro文件中加入QT +=core5compat

  1. .pro文件看不懂 可以学习下下面两个笔记
    https://blog.csdn.net/jolle1/article/details/141122556
    https://blog.csdn.net/a8039974/article/details/143052350

10.error:显示某个对象或类不包含某个member 函数或者是变量
“no member named xxx in xxxx”
原因:头文件未引入相应的这个所需要的头文件。
如果是在旧版本的QT上是可以运行的,则需要修改这个旧版的头文件写法,QT6已经废弃掉这种头文件。
比如QT5中的 #include
在QT6中应改成#include <QtNetwork/QTcpSocket>

11.QT运行闪退
原因1:程序里面用了# < QThread> 以及QThread的函数 注释掉即可
原因2:程序中不要用ClassName::function()调用函数,以及不要用ClassName::variation表示变量。
应该直接用this-> …。不然会重新新建一个这个类,导致嵌套过多崩溃

12.QT写入的文件打开之后发现中文是乱码

//不要用这个out.setEncoding(QStringConverter::Utf8 );不管用
out.setEncoding (QStringConverter::System);    //输出编码设为System
  1. QtTcpSocket的综合运用——不区分客户端和服务器的用法
    这个用法只关注连接、数据发送,不区分它们的身份,也不设置服务器监听。
    使用QAbstractSocket Class 而非Tcp server 或者client。
    查阅QAbstractSocket Class的文档来编写,点击跳转
http://www.lryc.cn/news/482987.html

相关文章:

  • React Native 全新架构来了
  • @ConditionalOnClass编译问题
  • Redis - 哨兵(Sentinel)
  • unity显示获取 年月日周几【日期】
  • MYSQL隔离性原理——MVCC
  • Android ANR分析总结
  • Three.js 纹理贴图
  • 2024年软件设计师中级(软考中级)详细笔记【12】软件系统分析与设计
  • 【Windows】CMD命令学习——系统命令
  • React第一个项目
  • 计算机网络基本概念总结
  • 考研要求掌握C语言(归并排序)
  • Spring Authorization Server:实现OAuth2认证服务
  • Rocky、Almalinux、CentOS、Ubuntu和Debian系统初始化脚本v9版
  • ScrumMaster认证机构及CSM、PSM、RSM价值解析
  • 借助 Pause 容器调试 Pod
  • PostgreSQL 开启密码验证插件
  • Go 语言已立足主流,编程语言排行榜24 年 11 月
  • flutter下拉刷新上拉加载的简单实现方式三
  • 【C++ 20进阶(2):属性 Attribute】
  • 【系统面试篇】其他相关题目——虚拟内存、局部性原理、分页、分块、页面置换算法
  • 力扣617:合并二叉树
  • 软件设计师 - 第1章 计算机网络概论
  • 方案丨车险保单OCR:3秒钟完成保单审核
  • Jmeter中的监听器(一)
  • C++ 标准库 std::vector 的介绍
  • 鸿蒙开发-装饰器@Link问题
  • CTFhub靶场RCE学习
  • 一文3000字从0到1带你进行Mock测试(建议收藏)
  • 数据结构 ——— 链式二叉树的销毁(释放)