当前位置: 首页 > news >正文

QxOrm生成json

下载Qxorm-1.5版本
使用vs打开项目,直接生成即可:
在这里插入图片描述
lib目录中会生成dll和lib文件

新建Qt项目使用Qxorm:
在这里插入图片描述
将QxOrm中上面三个目录拷贝到新建的Qt项目中

pro文件添加使用QxOrm第三方库

INCLUDEPATH += $$PWD/include/
LIBS += -L"$$PWD/lib"
LIBS += -l"QxOrmd"

JsonModel.h

#pragma once
#include <QString>
#include <QxOrm.h>
class JsonModel
{
public:JsonModel() : id(0) { }~JsonModel() { }long id;QString name;int age;
};
QX_REGISTER_HPP_EXPORT_DLL(JsonModel, qx::trait::no_base_class_defined, 0)class JsonModel2
{
public:JsonModel2() : id(0) { }~JsonModel2() { }long id;QString name;int age;JsonModel model;
};
QX_REGISTER_HPP_EXPORT_DLL(JsonModel2, qx::trait::no_base_class_defined, 0)

JsonModel.cpp

#include "JsonModel.h"
QX_REGISTER_CPP_EXPORT_DLL(JsonModel)
namespace qx
{template <> void register_class(QxClass<JsonModel>& t){t.setName("JsonModel");// 注册 JsonModel::id <=> 数据库中的主键t.id(&JsonModel::id, "id");// 注册 JsonModel::name 属性,使用的 key 是 name,version 是 1。t.data(&JsonModel::name, "name");// 注册 JsonModel::age 属性,使用的 key 是 age。t.data(&JsonModel::age, "age");}
}QX_REGISTER_CPP_EXPORT_DLL(JsonModel2)
namespace qx
{template <> void register_class(QxClass<JsonModel2>& t){t.setName("JsonModel2");// 注册 JsonModel2::id <=> 数据库中的主键t.id(&JsonModel2::id, "id");// 注册 JsonModel2::name 属性,使用的 key 是 name,version 是 1。t.data(&JsonModel2::name, "name");// 注册 JsonModel2::age 属性,使用的 key 是 age。t.data(&JsonModel2::age, "age");t.data(&JsonModel2::model, "model");}
}

main.cpp

#include <QApplication>
#include "JsonModel.h"
int main(int argc, char *argv[]) {QApplication app(argc, argv);JsonModel json;json.id = 1;json.age = 100;json.name = "gt";JsonModel2 json2;json2.id = 2;json2.age = 200;json2.name = "gt2";json2.model = json;QString jsonStr = qx::serialization::json::to_string(json2);return app.exec();
}

注意运行时要把QxOrmd.dll和exe放在同一目录

http://www.lryc.cn/news/536268.html

相关文章:

  • XS9922B(CHIPUP) 模拟高清 寄存器手册 XS9922B 四通道 多合一模拟高清解码芯片
  • Django创建超管用户
  • 基于Kotlin中Flow扩展重试方法
  • 好好说话:深度学习扫盲
  • 【状态空间方程】对于状态空间方程矩阵D≠0时的状态反馈与滑模控制
  • 腾讯大数据基于 StarRocks 的向量检索探索
  • Linux系统调用
  • 如何在Servlet容器中使用HttpServletResponse?
  • SpringCloud - Seata 分布式事务
  • Ansible批量配置服务器免密登录步骤详解
  • 互联网大厂中面试的高频计算机网络问题及详解
  • 人工智能时代下ai智能语音机器人如何以假乱真?
  • 【橘子ES】Aggregations 聚合准备
  • vue3读取webrtc-stream 视频流
  • springcloud集成gateway
  • 2025常用的SEO工具有哪些?
  • C++类和对象进阶:运算符重载深度详解
  • Mybatisplus——Mybatisplus3.5.2版本使用Page分页插件查询,records有数据但是total显示0
  • C#(Winform)通过添加AForge添加并使用系统摄像机
  • AI使用场景简单测试
  • Linux 配置 MySQL 定时自动备份到另一台服务器
  • PostgreSQL 备库的延迟问题
  • 力扣-二叉树-226 翻转二叉树
  • 基于SpringBoot的在线车辆租赁信息管理系统
  • 掌握 systemd:Linux 服务管理的核心工具
  • 【信息系统项目管理师-案例真题】2019下半年案例分析答案和详解
  • C/C++程序的内存是如何开辟的?
  • 日志结构化处理:PO对象toString日志转JSON工具
  • python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注
  • 大疆无人机需要的kml文件如何制作kml导出(大疆KML文件)