一、简介

Qt属性系统基于元对象Meta-Object系统,因此在使用时,需要继承QObject类并添加宏Q_OBJECT,属性除了具有类成员的功能外,还可以通过元对象系统访问,比如可以使用信号和槽机制。

二、使用方法

在继承QObject的类中,使用宏Q_PROPERTY()来注册属性。

Q_PROPERTY(type name(READ getFunction [WRITE setFunction] |MEMBER memberName [(READ getFunction | WRITE setFunction)])[RESET resetFunction][NOTIFY notifySignal][REVISION int][DESIGNABLE bool][SCRIPTABLE bool][STORED bool][USER bool][CONSTANT][FINAL])

先看一个官方的例子

class MyClass : public QObject
{Q_OBJECTQ_PROPERTY(Priority priority READ priority WRITE setPriority NOTIFY priorityChanged)public:MyClass(QObject *parent = 0);~MyClass();enum Priority { High, Low, VeryHigh, VeryLow };Q_ENUM(Priority)void setPriority(Priority prio

【Qt】Q_PROPERTY():属性系统相关推荐

  1. Qt属性系统及Q_PROPERTY宏的使用

    0.前言 像某些编译器提供的平台特有的属性系统(Property System)一样,Qt也提供了一个复杂的属性系统.当然,作为一个跨平台框架,Qt没有依赖那些非标准的编译器特性,比如:__prope ...

  2. Qt入门教程【QObject篇】属性系统

    属性系统 Qt提供了一个复杂的属性系统,类似于一些编译器供应商提供的属性系统.但是,作为独立于编译器和平台的库,Qt 不依赖于非标准编译器功能,如 或 .Qt解决方案适用于Qt支持的每个平台上的任何标 ...

  3. Qt C++属性类型提供给 QML调用(一)

    概述 由于QML引擎与Qt元对象系统的紧密集成,任何由QObject派生出来的类其公有的接口或属性都可以从QML代码中轻松访问,并且改动的地方很少,就可以让C++代码定义的功能轻松扩展QML. 任何Q ...

  4. Qt元对象系统:QMetaObject

    一.描述 此类包含有关Qt对象的元信息.Qt为应用程序中使用的每个 QObject 子类创建一个 QMetaObject 实例,该实例存储 QObject 子类的所有元信息. 二.静态成员函数 1.Q ...

  5. 1.QT元对象系统、信号槽概述、宏Q_OBJECT

    一.元对象系统(Meta-Object System) Qt添加C++原本不具备的元对象系统,元对象系统提供了信号槽机制,运行时类型信息和动态属性系统. 元对象系统基于三点: 1.元对象系统为以QOb ...

  6. Qt C++属性类型提供给 QML调用(三)

    前言 前面两篇文章已经介绍了 QML 中如何调用 C++中的基础属性以及对象属性,今天继续来介绍另外一种:对象为列表类型的属性调用方法. 概述 包含QObject派生类型列表的属性也可以暴露给QML使 ...

  7. Qt工作笔记-Qt元对象系统解析【2合1】

    博文转载地址: https://blog.csdn.net/spwper/article/details/51332187 说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大.这也是大家讲Qt ...

  8. 【QT】QT元对象系统

    QT元对象系统(Meta-Object-System) 元对象系统 元对象系统是一个基于标准C++的扩展,为QT提供了信号与槽机制.实时类型信息.动态属性系统. 元对象系统的三个基本条件:类必须继承自 ...

  9. 【原创】QT在嵌入式系统中显示中文的方法

    [原创]QT在嵌入式系统中显示中文的方法 此篇文章主要借鉴:http://zzqh007.blog.163.com/blog/static/44434847201011312168296/ 移植QT4 ...

最新文章

  1. 音频(3):iPod Library Access Programming Guide:Introduction
  2. 收到2013年51cto限量版精美台历
  3. 【原】使用Json作为Python和C#混合编程时对象转换的中间文件
  4. jni java共享变量_JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量 .
  5. boost::gregorian模块实现测试时钟的测试程序
  6. 需求文件requirements.txt的创建及使用
  7. (转)Shell中获取字符串长度的七种方法
  8. 大神们都应该去哪里工作?
  9. 一个搜索框多个按钮_网站搜索栏设计指南:要不要?怎么设计?
  10. jquery动态绑定事件的方法_Jquery绑定事件及动画效果
  11. 红袖添香唯美中国风PPT模板
  12. 进程、线程、信号量和互斥锁
  13. 人工智能/数据科学比赛汇总 2019.2
  14. XenApp/XenDesktop 7.11 对于HDX 3D pro的2点增强
  15. 更改git提交显示的用户名
  16. 书单丨5本书带你学习Kubernetes,掌控云计算的未来
  17. 金蝶KIS迷你版、标准版年结注意事项!!
  18. 淘宝订单同步及解决方法
  19. React 运行流程
  20. jdk-17下载与安装(window10)

热门文章

  1. 哪种营销方法效果最差_今日头条广告投放形式分几种?头条品牌营销曝光效果哪种广告更好?...
  2. Learn OpenGL (一):打开窗口
  3. Windows下配置Maven环境变量
  4. Python中使用中文正则表达式匹配指定的中文字符串
  5. 在CentOS 6.3 64bit上安装Apache Trafficserver 4.2.3
  6. webkit入门准备
  7. UE卡通风格游戏场景制作视频教程
  8. leetcode-376 摆动序列
  9. awk3.0 — awk变量
  10. iso镜像文件烧写到U盘