首发于 Qt QML/Quick编程
如何用Qt Quick来做简单优雅的JSON可视化

如何用Qt Quick来做简单优雅的JSON可视化

JSON是我们开发时候常用的交换数据格式,简单优雅。但再简单的数据格式,都没有图表来得直观,所以需要JSON可视化。一般的JSON可视化无非就是按照层级关系弄成缩进,例如下面这样的结果:

虽然比代码直观,但是跟下面的比呢?哪个更好?

今天就是想跟大家说个用Qt Quick实现JSON可视化的简单优雅的方法。

核心问题包括下面几个方面:

  1. 对JSON数据进行解析,我使用的是递归方法,比较容易理解。
  2. 同层级的节点放进一个ColumnLayout中,轻松实现均匀排布。
  3. 对JSON的数据类型需要判断,在JS中不好做,所以放在C++中实现,这里就涉及到如何在C++中构造QML对象以及设置属性。

C++中构造QML对象和设置属性的代码如下:

连线我是用Canvas画的,在Node.qml中可以看到:

本身比较简单,所以也不过多展开讲了,用的都是之前几篇文章中讲过的技术。源码我放在了GitHub上,大家感兴趣的可以编译运行看看:

其实稍加扩展,可以在这个基础上做更多事情。比如改进样式:

或者将ColumnLayoutRowLayout对调可以实现上下展开的排版。

甚至添加交互后可以做成思维导图工具。以后有空的时候我可以再试试。目前就先到这里了。

代做工资流水公司杭州查询个人工资流水邯郸开房贷银行流水襄阳入职银行流水代办烟台车贷流水制作衡阳代开房贷收入证明邢台工资流水报价吉林制作在职证明漳州房贷流水代办西宁做企业银行流水武汉银行流水PS代办深圳开银行流水电子版绵阳签证工资流水图片开封打房贷工资流水惠州工资证明代办宁波银行流水修改多少钱廊坊房贷流水开具洛阳对公账户流水查询镇江房贷工资流水 开具湘潭流水账单多少钱哈尔滨车贷银行流水 制作徐州办理对公流水湘潭制作工资银行流水咸阳薪资流水单办理温州自存流水图片荆州代开车贷流水汕头查背调银行流水南阳对公账户流水衡阳个人银行流水岳阳代办入职流水荆州车贷流水制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化