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

12.小节

1.认识 QLabel 类,能够在界面上显示字符串.
通过 setText 来设置的.参数 QString (Qt 中把 C++ 里的很多容器类, 进行了重新封装.历史原因)

c++叫法容器类,java叫法集合类

 2.内存泄露,文件资源泄露

3.对象树。Qt 中通过对象树,来统一的释放界面的控件对象
Qt 还是推荐使用 new 的方式在堆上创建对象通过对象树,统一释放对象
创建对象的时候,在构造函数中,指定父对象(此时才会挂到对象树上)
如果你的对象没有挂到对象树上,就必须要记得手动释放!!

4.通过继承自 Qt 内置的类,就可以达到对现有控件进行功能扩展效果
Qt 内置的 QLabel,没法看到销毁过程的.为了看清楚,就创建类 MyLabel,继承自 QLabel
重写 析构函数.
在析构函数中,加上日志,,直观的观察到对象释放的过程了
也可以重写控件中的任何功能,不仅仅是析构函数~~ 达到功能扩展目的~~

面向对象“继承”,本质上是对现有代码进行的“扩展

5.乱码问题 和 字符集~ MySQL(很多地方都涉及到)

在 MySQL 5.7 及更早版本中,默认字符集是 latin1(拉丁文)

6.如何在 Qt 中打印日志,作为调试信息.
使用 cout 固然可以但是并不是上策(字符编码处理的不好,也不方便统一进行关闭)
你想通过宏统一关闭 qDebug() 日志输出,可以使用QT_NO_DEBUG_OUTPUT 宏
Qt 中推荐使用 gDebug() 完成日志的打印.①可以编码处理②日志打印统一关闭
之前调试程序,都是用调试器.VS / gdb为啥要打印日志调试呢??
调试器很多时候是有局限性的,是无法使用的.

假设当前 bug 是一个概率性的 bug,出现的概率是 1% 甚至更小
要想调试 无法使用调试器了.

可以借助日志循环打印,打印一些参数,利于观察bug出现的原因
使用日志,就可以很好的解决这种问题~~
无论是哪种方式,本质上都是观察程序执行的中间过程和中间结果~~

相关文章:

  • 关于React Redux
  • 【3. 软件工程】3.0 软件工程概述
  • Android View事件分发机制深度解析
  • QuecPython 的 VScode 环境搭建和使用教程
  • IS-IS认证
  • MySQL日志管理
  • NVR接入录像回放平台EasyCVR视频融合平台城市/乡镇污水处理厂解决方案
  • 计算机等级考试数据库三级(笔记2)
  • 032-overlayYUV
  • 深入解析Kapt —— Kotlin Annotation Processing Tool 技术博客
  • 使用 Portainer 轻松管理 Docker 环境:完整安装与使用指南
  • MD编辑器中的段落缩进怎么操作
  • 链路追踪Skywalking
  • QT实现四则运算计算器(QT实操1)
  • 多台服务器上docker部署 Redis 集群
  • Spring Boot @RequestParam 解析参数时的常见问题及解决方案
  • linux基本命令(2)--进程命令PS
  • Linux更换挂载nfs迁移数据流程
  • 使用AOP技术实现Java通用接口验签工具
  • 【vue】editor富文本输入全英文,谷歌浏览器:元素不会自动换行bug
  • 河南省平顶山市副市长许红兵主动投案,接受审查调查
  • 85后清华博士黄佐财任湖北咸宁市咸安区委副书记、代区长
  • 我驻苏丹使馆建议在苏中国公民尽快撤离
  • 见微知沪|优化营商环境,上海为何要当“细节控”自我加压?
  • 青岛双星名人集团管理权之争:公司迁址,管理层更迭
  • 黄玮接替周继红出任国家体育总局游泳运动管理中心主任