首页 > 其他分享 >QT:打印当前文件名,行号和函数名称

QT:打印当前文件名,行号和函数名称

时间:2023-08-15 20:01:11浏览次数:35  
标签:__ 函数 文件名 行号 FILE myDebug QT

定义:

#include <QDebug>
#define myDebug()    qDebug() << tr("文件名: ") <<  __FILE__ << tr("行号: ")<<  __LINE__ << tr("函数名: ") <<  __FUNCTION__;

在函数中执行myDebug()即可:

void MainWindow::doActionNew_slot()
{
    ui->statusBar->showMessage(tr("新建文件"));
    myDebug();
}

执行结果:

"文件名: " ..\mainwindow.cpp "行号: " 39 "函数名: " doActionNew_slot 

总结:在C语言中 __FILE__ __LINE__ __FUNCTION__ 是编译器内置宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。
__FILE__:代表源当前源文件路径及文件名;
__LINE__:代表该行代码的所在行号
__FUNCTION__:代表当前函数的函数名

标签:__,函数,文件名,行号,FILE,myDebug,QT
From: https://www.cnblogs.com/nuoqi/p/17632288.html

相关文章

  • QT快捷键
    常用高频快捷键Ctrl+/ 多行注释/取消多行注释Ctrl+B 编译工程Ctrl+R 运行工程Ctrl+Alt+up(向上箭头) 当前行向上复制Ctrl+Alt+down(向下箭头) 当前行向下复制Ctrl+Shift+up(向上箭头) 整行向上移动Ctrl+Shift+down(向下箭头) 整行向下移动Ctrl+I 代码格式化对......
  • 基于花生壳和EMQX搭建本地mqtt服务
    本篇关于搭建本地mqtt调试服务器步骤1:下载相关工具,花生壳以及EMQX开源mqtt服务EMqx下载地址:https://www.emqx.com/zh/try?product=broker花生壳下载地址:https://hsk.oray.com/步骤2:花生壳实现内网穿透在这里不做讲解,主要讲述EMQX相关步骤;emqx开源版本下载,解压后,成功后的界面:浏览......
  • ThingsKit物联网平台设备MQTT接入
    入门介绍MQTT基础知识MQTT全称MessageQueuingTelemetryTransport,它是一种基于消息队列的轻量级应用层通信协议,实现了消息发布和订阅。设备可以作为客户端的形式通过它来发布和接收消息,实现数据上报和实时控制。设计用于具有低带宽的受限设备。因此,它是物联网设备接入的完美解......
  • ThingsKit物联网平台网关MQTT接入
    入门介绍在物联网中,网关的作用是将那些本身不能直接连接平台的设备,通过网关的中转,让设备接入平台。网关起到的作用是数据转发和协议转换。网关和平台的通信主要分为:网关设备自身和平台的通信,例如:上报网关自身的设备状态和属性,接收平台对网关的控制指令等。网关子设备和平台的......
  • QML NextQT
    2017年我写了一篇QML从入门到放弃如今2023年,过去6年了。QML是我认为真正革命GUI技术拥抱QML,拥抱声明式GUI.QWidget彻底成为过去式了1.PropertyBinding比如画布有2个盒子AB,A盒子变化大小,B盒子跟着一起干,这个在Qt就直接绑定完事Rectangle{id:Awidth:200heig......
  • 《新建篇》创建Qt项目
    创建Qt项目参考链接:https://blog.csdn.net/weixin_44064908/article/details/131155691法一根据模板创建打开QtCreator界面选择NewProject或者选择菜单栏【文件】-【新建文件或项目】菜单项弹出NewProject对话框,选择QtWidgetsApplication选择【Choose】按钮,弹出如......
  • 《安装篇》下载QT和安装
    Qt下载(多种下载通道+所有版本)参考链接:http://c.biancheng.net/view/3851.html作为Qt下载教程,本文会同时讲解以上三种下载方式。Qt官方下载(非常慢)Qt官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/官网图片:对目......
  • 《简介篇》QT是什么
    参考链接:https://blog.csdn.net/m0_65682542/article/details/126731164QT是什么Qt:一个跨平台的C++开发库,主要用来开发图形用户界面程序。名字含义名字含义:字母Q作为所有类的前缀,是因为Haarard写这个字母看起来特别的漂亮,字母t代表"toolkit",在Xt,Xtoolkit等中得到灵感。......
  • QT画图
    重点:每个QWidget都自带的功能,继承了QPainteDevice都可以使用QPainter来进行绘图。我们需要调用paintEvent绘制事件,这个事件QWidget这个类自带的事件。重写这个事件:如果父类有某个办法,此时这个子类需要有一个更跟父类同样方法名称的。实例化对象写法:QQPainterpainter(this);//......
  • Qt下的基本TCP网络通信流程
    给大家讲一下如何使用Qt相关类的进行TCP通信。前置知识:c++基础、qt基础、网络基础使用Qt提供的类进行基于TCP的套接字通信需要用到两个类:​ QTcpServer:服务器类,用于监听客户端连接以及和客户端建立连接。​ QTcpSocket:通信的套接字类,客户端、服务器端都需要使用。这两个套......