最近在使用QProperAnimation画类,研究这个的时候看到别人写的代码有用到 Q_PROPERTY()这个宏,然后查了下,这个宏只有Qt才有的

并且需要进行编译,继承于QOBJECT

Qt 手册

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])

属性名称和类型以及READ是必须的,类型可以是QVariant支持的所有类型或者自定义;

WRITE功能常见,除了USER默认true其他均默认为false

如下:

Q_PROPERTY(QString title READ title WRITE setTitle USER true);

Q_PROPERTY(bool focus READ hasFocus);                    //从 hasFocus  读取 focus的值

Q_PROPERTY(enabled READ isEnabled WRITE setEnabled);// 从 isEnabled取值到enable 然后写入 setEnabled

Q_PROPERTY(Qcursor cursor READ cursor WRITE setCursor RESET unsetCursor);//亦或是 从cursor取值 到 cursor 然后写入 setCursor 设置默认状态 unsetCursor;

名称都是自己在类中定义的,以及getValue 和 setValue  unsetValue;

Q_PROPERTY(类型  名称  READ 功能模块名 WRITE 功能模块名 RESET 功能模块名);

在重申一次; 类型名称 以及 READ 是必须的、

下面列举一个简单的例子:

自己动手会明白更多。thanks for reading.

最新文章

  1. 再谈SQL Server中日志的的作用
  2. Java 静态语句块、语句块、构造函数执行顺序
  3. C# 多线程通信详解
  4. PHP 设计模式 笔记与总结(4)PHP 链式操作的实现
  5. 设置emacs插件flycheck使用jslint eslint
  6. YTU 2616: A代码完善--简易二元运算
  7. VIM移动
  8. 百度编辑器解决span被过滤, 自动加P标签
  9. Docker 基础技术:Linux Namespace(下)
  10. ☀【移动】UC极速模式
  11. delphi发送html带附件邮件
  12. noip201506 Message 信息传递
  13. UVa 536 Tree Recovery | GOJ 1077 Post-order (习题 6-3)
  14. 救援行动(save)
  15. qt中创建进程
  16. hdu2242 考研路茫茫——空调教室
  17. Windows Server 2016-Powershell新建用户补充
  18. linux安装windows启动盘
  19. Golang中的自动伸缩和自防御设计
  20. 汇编 do while循环

热门文章

  1. 什么是NFA(不确定的有穷自动机)和DFA(确定的有穷自动机)
  2. 09.事务管理、整合jpa、整合mybatis
  3. Vue----渐进式框架的理解
  4. uiautomator python版本
  5. 【KeepAlive】Http--Keep-Alive及Tcp--Keepalive
  6. netty-Selector
  7. Bugku | 数字验证正则绕过
  8. (转)Java 原子性引用 AtomicReference
  9. STM32时钟配置方法详解
  10. ActiveReports报表数据源:运行时数据源