【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

如何在Qt中打印日志 | qDebug的使用

文章编号:Qt 学习笔记 / 07

文章目录

  • 如何在Qt中打印日志 | qDebug的使用
    • 一、如何在Qt中打印日志
    • 二、qDebug的使用
    • 三、在Assistant中查看qDebug的使用


一、如何在Qt中打印日志

在上文【Qt 学习笔记】Day3 | Qt 中出现乱码的解释及讨论中提到Qt中出现乱码的情况,在使用C++的方式打印时会出现乱码的情况,在Qt中可以使用qDebug()来打印日志信息用来调试。

举例代码:

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <iostream>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);std::cout << "测试代码"<<std::endl;qDebug() << "测试代码"<< endl;
}Widget::~Widget()
{delete ui;
}

输出结果:
在这里插入图片描述

结论: 在Qt中打印日志可以使用QDebug类。 QDebug类提供了一个方便的打印日志的方法,可以将日志输出到控制台、文件或其他输出设备。打印日志:使用qDebug()函数打印日志。qDebug()函数类似于printf()函数,可以接受多个参数,并按照指定的格式打印日志。


二、qDebug的使用

在Qt中,qDebug是一个非常常用的输出调试信息的函数。它可以输出各种类型的信息,比如字符串、数字、对象等。

使用qDebug输出调试信息的方法非常简单,只需要包含头文件#include <QDebug>,然后在需要输出调试信息的地方调用qDebug函数即可。例如:

#include <QDebug>int main()
{int age = 18;QString name = "Duck Bro";qDebug() << "Name:" << name << ", Age:" << age;return 0;
}

上面的代码中,我们包含了QDebug的头文件,并在主函数中使用了qDebug函数输出了一个字符串和一个整数。

qDebug函数可以接受多个参数,参数之间使用<<进行连接。可以输出各种类型的值,包括但不限于:字符串、整数、浮点数、布尔值、指针等。

除了使用qDebug函数输出调试信息之外,还可以使用qWarning、qCritical、qFatal等函数输出不同级别的错误信息。使用方式与qDebug类似。

注意:使用qDebug输出的调试信息只会在调试模式下显示,而在发布模式下是不会显示的。所以在发布前,需要将代码中的qDebug语句删除或注释掉,以避免不必要的输出。


三、在Assistant中查看qDebug的使用

  1. 打开Qt自带离线的官方文档Assistant
    在这里插入图片描述
  2. 进入Assistant界面,进行索引搜索qDebug,下滑查看Basic Use(常规使用)

在这里插入图片描述


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600321.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宁波卓越绩效模式导入验收

&#x1f600;宁波卓越绩效&#x1f495;模式导入验收&#xff0c;&#x1f3c5;不仅是对企业&#x1f381;管理水平的全面检验&#xff0c;更是&#x1f680;推动企业&#x1f692;追求卓越、实现&#x1f99a;持续发展的重要契机。&#x1f333;这一模式的导入&#xff0c;意…

23.oracle保留两位小数、小数点后不足两位的补0

to_char()函数&#xff1a;转化数字型指定小数点位数的用法/* to_char(0.1,fm9999990.00) */

FreeRtos入门-8 调试

调试 0&#xff0c;打印状态&#xff08;略&#xff09; 1&#xff0c;断言 在编程中&#xff0c;断言是一种一阶逻辑&#xff0c;即一个结果为真或假的逻辑判断式。其目的是表示与验证软件开发者预期的结果。当程序执行到断言的位置时&#xff0c;对应的断言应该为真。如果断言…

海量智库 | ANY权限原理介绍

ANY权限是Vastbase中的一种特殊的管理权限&#xff0c;用户能够通过ANY权限执行更广泛的操作&#xff0c;更加便利的管理数据库。 本文将为您介绍ANY权限管理的相关原理。 ANY权限管理相关解释 ANY权限管理&#xff0c;是对数据库内的某一类对象的所有实体进行特定的权限管理…

国内ChatGPT大数据模型

在中国&#xff0c;随着人工智能技术的迅猛发展&#xff0c;多个科技公司和研究机构已经开发出了与OpenAI的ChatGPT类似的大型语言模型。这些模型通常基于深度学习技术&#xff0c;尤其是Transformer架构&#xff0c;它们在大量的文本数据上进行训练&#xff0c;以理解和生成自…

酱油行业市场需求及广阔前景分析

随着居民消费升级&#xff0c;对高品质生活的向往使得酱油市场需求持续增长。消费者对酱油的功能性需求日益细分&#xff0c;追求健康、天然与个性化的产品特性&#xff0c;从而推动了市场的多元化进步。 同时&#xff0c;餐饮业的蓬勃发展以及外卖市场的扩大&#xff0c;均为酱…

解决nginx代理后,前端拿不到后端自定义的header

先说结论&#xff0c;因为前端和nginx对接&#xff0c;所以需要在nginx添加如下配置向前端暴露header add_header Access-Control-Expose-Headers Authorization 排查过程 1.后端设置了Authorization 的响应头作为token的返回&#xff0c;前后端本地联调没有问题 response.s…

隔离放大器 用途 组成 应用领域

隔离放大器用于防止数据采集器件遭受远程传感器出现的潜在破坏性电压的影响。这些放大器还用于在多通道应用中放大低电平信号。它们也可以消除由接地环路引起的测量误差。由于不需要附加的隔离电源&#xff0c;带有内部变压器的隔离放大器可以降低电路成本 它由仪器放大器&…

LeetCode-33. 搜索旋转排序数组【数组 二分查找】

LeetCode-33. 搜索旋转排序数组【数组 二分查找】 题目描述&#xff1a;解题思路一&#xff1a;二分查找。1.找哨兵节点&#xff08;nums[0]或nums[-1]&#xff09;可以确定nums[mid]位于前一段或后一段有序数组中。2. 就是边界left和right的变换&#xff0c;具体看代码。解题思…

[LeetCode][LCR178]训练计划 VI——使用位运算寻找数组中不同的数字

题目 LCR 178. 训练计划 VI 教学过程中&#xff0c;教练示范一次&#xff0c;学员跟做三次。该过程被混乱剪辑后&#xff0c;记录于数组 actions&#xff0c;其中 actions[i] 表示做出该动作的人员编号。请返回教练的编号。 示例 1&#xff1a; 输入&#xff1a;actions [5, …

网络安全之命令注入

漏洞原理&#xff1a; 应用系统设计需要给用户提供指定的远程命令操作的接口&#xff0c;比如&#xff1a;路由器&#xff0c;防火墙&#xff0c;入侵检测等设备的web管理界面。一般会给用户提供一个ping操作的web界面 用户从web界面输入目标IP&#xff0c;提交后台会对改IP地…

【Java面试题】JVM(26道)

文章目录 JVM面试题基础1.什么是JVM&#xff1f;2.JVM的组织架构&#xff1f; 内存管理3.JVM的内存区域是什么&#xff1f;3.1堆3.2方法区3.3程序计数器3.4Java虚拟机栈3.5本地方法栈 4.堆和栈的区别是什么&#xff1f;5.JDK1.6、1.7、1.8内存区域的变化&#xff1f;6.内存泄露…