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

做网站怎么收费前端做网站商城 购物车怎么做

做网站怎么收费,前端做网站商城 购物车怎么做,泰安网络电视,网站 营销策略qt-C笔记之Q_DECLARE_METATYPE和qRegisterMetaType code review! 文章目录 qt-C笔记之Q_DECLARE_METATYPE和qRegisterMetaType一.Q_DECLARE_METATYPE使用方法应用场景 二.为什么需要注册类型#xff1f;三.使用 Q_DECLARE_METATYPE 处理自定义类型的简短示例3.1.自定义类型定…qt-C笔记之Q_DECLARE_METATYPE和qRegisterMetaType code review! 文章目录 qt-C笔记之Q_DECLARE_METATYPE和qRegisterMetaType一.Q_DECLARE_METATYPE使用方法应用场景 二.为什么需要注册类型三.使用 Q_DECLARE_METATYPE 处理自定义类型的简短示例3.1.自定义类型定义3.2.在 QVariant 中存储和检索3.3.在信号和槽中传递 一.Q_DECLARE_METATYPE Q_DECLARE_METATYPE 是一个 Qt 宏用于注册某种类型以便在 Qt 的元对象系统中使用。注册后的类型可以在 Qt 的信号和槽机制中使用特别是当类型作为信号参数传递时。这对于非Qt内建类型来说尤其重要因为 Qt 的元对象系统需要额外的信息来处理这些类型。 使用方法 声明自定义类型 首先需要创建一个自定义类型。例如 class MyCustomType { public:int someValue; };使用 Q_DECLARE_METATYPE 在全局命名空间中使用这个宏来声明自定义类型 Q_DECLARE_METATYPE(MyCustomType)注册类型 为了使 QVariant 能够处理这个自定义类型还需要在程序的某个地方注册它 qRegisterMetaTypeMyCustomType(MyCustomType);应用场景 信号和槽 如果想在信号和槽中传递这个类型的对象需要注册。QVariant 如果想将自定义类型存储在 QVariant 中。 这样就可以在 Qt 的各种机制中使用自定义类型了。 二.为什么需要注册类型 Qt 的信号和槽机制以及变量属性系统依赖于运行时类型信息来动态地进行类型检查和转换。注册类型允许 Qt 知道如何在不同组件间安全地传递这些类型的数据特别是在不同线程之间。比如如果想在信号中传递一个自定义数据结构或者 STL 容器就必须先使用 Q_DECLARE_METATYPE 进行注册。 三.使用 Q_DECLARE_METATYPE 处理自定义类型的简短示例 3.1.自定义类型定义 首先定义一个简单的自定义类型 // customtype.h #ifndef CUSTOMTYPE_H #define CUSTOMTYPE_H#include QStringclass CustomType { public:CustomType() : name(Default) {}CustomType(const QString name) : name(name) {}QString getName() const { return name; }void setName(const QString name) { this-name name; }private:QString name; };Q_DECLARE_METATYPE(CustomType)#endif // CUSTOMTYPE_H3.2.在 QVariant 中存储和检索 接下来演示如何将自定义类型存储到 QVariant 中并从中检索。 // main.cpp #include QCoreApplication #include QVariant #include QDebug #include customtype.hint main(int argc, char *argv[]) {QCoreApplication app(argc, argv);// 注册类型qRegisterMetaTypeCustomType(CustomType);// 创建一个自定义类型实例CustomType original(Example);// 存储在 QVariant 中QVariant variant QVariant::fromValue(original);// 从 QVariant 中检索if (variant.canConvertCustomType()) {CustomType retrieved variant.valueCustomType();qDebug() Retrieved name: retrieved.getName();}return 0; }3.3.在信号和槽中传递 最后展示如何在信号和槽中传递自定义类型。 // sender.h #ifndef SENDER_H #define SENDER_H#include QObject #include customtype.hclass Sender : public QObject {Q_OBJECTpublic:void send() {CustomType data(Signal Data);emit customSignal(data);}signals:void customSignal(CustomType data); };#endif // SENDER_H// receiver.h #ifndef RECEIVER_H #define RECEIVER_H#include QObject #include QDebug #include customtype.hclass Receiver : public QObject {Q_OBJECTpublic slots:void onCustomSignal(CustomType data) {qDebug() Received name: data.getName();} };#endif // RECEIVER_H// main.cpp #include QCoreApplication #include sender.h #include receiver.hint main(int argc, char *argv[]) {QCoreApplication app(argc, argv);qRegisterMetaTypeCustomType(CustomType);Sender sender;Receiver receiver;QObject::connect(sender, Sender::customSignal, receiver, Receiver::onCustomSignal);sender.send();return app.exec(); }
http://www.w-s-a.com/news/567725/

相关文章:

  • 电子商务网站建设规划开题报告桂林漓江景区游玩攻略
  • 程序员参与洗钱网站建设做视频网站需要多少钱
  • 网站建设背景是什么企业邮箱怎么写
  • 山东省建设资格中心网站iis wordpress安装教程
  • 做的网站 显示乱码怎么做微信小程序平台
  • 怎样建设打字网站怎样增加网站浏览量
  • 网站建设方案的征求意见网站主机免备案
  • 共享农业网站建设郑州市建网站
  • 成都网站建设四川冠辰网站建设带会员系统的网站模板
  • 水果网站建设方案书wordpress get_the_category
  • 第一ppt网站官网买域名价格
  • 网站 报价单自己做的网站如何上传
  • 天津网站建立辽宁建设工程信息网2017年定额人工费系数
  • 柳州网站优化搜索引擎优化方法案例
  • 什么网站比较少人做响应式网站开发周期
  • 公司网站欢迎语工作期间员工花钱做的网站
  • 新网站该如何做网站优化呢网络营销网站设计
  • 旅游门户网站模板下载做策划网站推广怎么写简历
  • 建设隔离变压器移动网站wordpress动态导航
  • 平潭建设局网站中国免费素材网
  • 虚拟主机可以做视频视频网站吗做爰全过程免费的视频网站有声音
  • 专业做家电经销的网站网络管理系统有哪几部分组成
  • 自学网站编程网站名称需要注册吗
  • 网站后台管理系统怎么添加框安徽省工程建设协会网站
  • 雨花台网站建设wordpress找回
  • 四川哪家网站推广做的好网站开发人才需求
  • 什么网站可以找手工活做一站式服务平台官网
  • 做购物网站的步骤网站核心词如何做
  • 做品牌设计网站公司网站没做301怎么做301
  • 服务流程企业网站wordpress文章的使用