1.简述

你还在到处这样打印结构体么?

qDebug()<<"Mc info:"<<info.m_id<<info.r_id<<info.display_type<<info.topic<<info.name<<info.sname;

我刚才还在这样打印结构体,不过我实在是受够了,一番折腾之后,我可以这样打印了

qDebug()<<"Mc info:"<<info;

2.代码

我们仅需要在结构体里声明一个友元函数,重载QDebug的<<即可。

#include <QDebug>
class Info
{public:QString m_id;QString r_id;QString display_type;QString topic;QString name;QString sname;friend QDebug& operator<<(QDebug out, const Info& info){out <<info.m_id<<info.r_id<<info.display_type<<info.topic<<info.name<<info.sname;return out;}
};

Qt QDebug 打印自定义结构体相关推荐

  1. Qt中的QByteArray和自定义结构体之间的相互转换

    在Qt项目开发中,经常会碰到自定义结构体和字符数组之间的转换问题,不妨假设结构体名字为custom_struct, 字符数组名字为array_data 1. QByteArray转换为自定义结构体 c ...

  2. Qt中解决信号和槽不能使用自定义结构体的问题

    在Qt中信号和槽使用自定义的结构时,运行的时候发现报错不能识别结构体 解决办法: 一定要将自定义结构体定义为typedef struct 使用Q_DECLARE_METATYPE(结构体名),将结构体 ...

  3. 【Qt】信号和槽传递自定义结构体

    一.使用信号和槽传递自定义结构体 这是一个老问题了,但是每次使用都要bing,因此做个笔记整理下. 一共有三种方法,可以让结构体在信号和槽之间传递.前两种方法可以让结构体在线程之间传递,最后一种方法只 ...

  4. QML < 5 > QML 访问C++ 类 (函数Q_INVOKABLE、枚举Q_ENUMS 、成员变量Q_PROPERTY、自定义结构体QVariantMap、List数据QVariantL

    QML < 5 > QML 访问C++ 类 (函数Q_INVOKABLE.枚举Q_ENUMS .成员变量Q_PROPERTY.自定义结构体(QVariantMap ).List数据QVar ...

  5. Gin 框架学习笔记(01)— 自定义结构体绑定表单、绑定URI、自定义log、自定义中间件、路由组、解析查询字符串、上传文件、使用HTTP方法

    要实现一个 API 服务器,首先要考虑两个方面:API 风格和媒体类型.Go 语言中常用的 API 风格是 RPC 和 REST,常用的媒体类型是 JSON.XML 和 Protobuf.在 Go A ...

  6. Qt——用Tcp传结构体

    最近在写基于4412开发板设计的智能饮料工控系统,从客户端传数据到服务端的时候,遇到了瓶颈,而后在博客上找了好久,结合自己的修改,最终成功~ Linux里的Qt版本是4.8.6,所以不能用QJson传 ...

  7. C++对自定义结构体变量排序

    在C++中,如果容器中的数据类型为int double等基本类型时,我们很容易利用STL自带的函数对其进行排序,但是如果数据类型是我们自定义的结构体或者类呢,这时候再利用STL进行排序就力不从心了.在 ...

  8. Linux内核dev_set_drvdata()和dev_get_drvdata()存储自定义结构体用法

    定义位置:kernel/msm-3.18/include/linux/device.h static inline void dev_set_drvdata(struct device *dev, v ...

  9. STL 的 std::set 创建自定义结构体的对象,定义严格弱序的比较函数

    文章目录 正文 Ref 系列地址 简 述: 对于 STL 中 std::set 创建自定义结构体的对象,发现使用 "函数对象" 和 "定义普通函数 + decltype& ...

  10. c语言调用dll实例 结构体传参,Matlab调用Dll,对于自定义结构体数组如何传参? - 程序语言 - 小木虫 - 学术 科研 互动社区...

    %[例子1] % Matlab调用DLL,整形数组传参 v = [1,22,33;44,-56,67]; pv = libpointer('int16Ptr',v); m = get(pv,'Valu ...

最新文章

  1. Kafka常用命令大全
  2. 摘录HTTP头部信息的注释
  3. RxSwift之路 1#Swift语法知识准备
  4. java 缓存分页_基于redis做缓存分页
  5. 串口通信程序中十六进制格式发送和接收实现
  6. javascript中的继承[二] 基于构造函数(《Object-Oriented JavaScript》第六章)
  7. C# MD5算法实现对文件校验
  8. lcd显示c语言程序,1602液晶简单显示程序
  9. EAN-13码知识及其校验码的计算方法
  10. STM32之红外接收
  11. 解析MATLAB短时傅里叶变换函数spectrogram()
  12. 【Lintcode】350. Slash Separating
  13. python 线性插值处理_python线性插值解析
  14. SpringBoot线程池获取service实例空指针
  15. [转]汽车ARM攒机指南
  16. js将一串数字1607222406转换为日期格式
  17. S3C2440之IIC
  18. 中山大学曾兆阳_官居几品怎么打压势力
  19. Vue-GoogleMap (一)实时定位
  20. java 完整子图_用JAVA求解最大连通子图

热门文章

  1. Discuz!NT 系统架构分析(以前的)
  2. 关于“多目的地址的pix防火墙nat”的总结
  3. smartphone软件的安装方法
  4. linux编辑文本文件aa的命令,Linux如何使用正则表达式命令?文本文件操作命令
  5. python3获取邮件附件,获取邮件附件到python文件对象
  6. 参数等效模型可以用于_扬声器单元的等效电路分析与应用(1)
  7. sqlserve 热备用状态更新_什么是核心交换机的链路聚合、冗余、堆叠、热备份
  8. idea swagger生成接口文档_.NetCore3.1中使用Swagger生成接口文档
  9. python怎么排名次_2019:python第3次获得TIOBE最佳年度语言排名
  10. jq 改数组的k值_在JSON jq中修改键值数组