首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt序列化数据

利用QDebug类将一个数据类型(QMap,QList等)转换为字符串。

  由于我们使用qDebug打印数据,好像什么数据都能打印到屏幕,由此我们可以利用QDebug类输出重定向到QString中,从而实现数据的字符串序列化。

原型

QDebug::QDebug(QString *string)

两种实现方法

使用QVariant类型作为参数实现。

QString toString(QVariant var)

{

QString string;

QDebug(&string) 

return string;

}

使用模板实现(推荐使用)。

template

QString toString(T t)

{

QString string;

QDebug(&string) 

return string;

}

使用

小例子

QVariantMap map = {

{"1", 2},

{"3", 4},

};

qDebug() 

QStringList list = {"1", "2", "3"};

qDebug() 

方法1打印输出:

"QVariant(QVariantMap, QMap((\"1\", QVariant(int, 2))(\"3\", QVariant(int, 4)))) "

"QVariant(QStringList, (\"1\", \"2\", \"3\")) "

方法2打印输出:

"QMap((\"1\", QVariant(int, 2))(\"3\", QVariant(int, 4))) "

"(\"1\", \"2\", \"3\") "

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200702A0VZJJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券