ypy的个人主页

http://www.qtcn.org/bbs/u/178737  [收藏] [复制]

157369414

  • 2

    关注

  • 1

    粉丝

  • 3

    访客

  • 等级:新手上路
  • 身份:禁止发言
  • 总积分:0
  • 男,1993-03-23

最后登录:2020-09-23

更多资料

日志

Qt 常用宏-----Q_PROPERTY

2017-03-24 12:46
Qt 中的宏确实挺有意思为我们提供了很多增强代码功能的方式,比如Q_PROPERTY 和 Q_ENUM。
先来看看Q_PROPERTY:
顾名思义属性的意思,确实它是用来为我们的custom class (Inherited :qobject)添加属性的。借助Qt的文档来学习一下它的用法。

Q_PROPERTY(Priority priority  READ priority  WRITE setPriority  NOTIFY priorityChanged)
增加属性嘛,属性是谁,啥类型,访问权限及function.....就需要了解一下喽:
括号中的字段: 属性类型 属性名  读权限   readFunctionName   写权限     writeFunctionName     信号 signalFunctionName
有一个宏观认识后那就来深入研究一下吧:
先写一段代码
class MyClass : public QObject {
Q_OBJECT
Q_PROPERTY(Priority priority  READ priority  WRITE setPriority  NOTIFY priorityChanged)
Qt  明确指出 READ is required 大概是说属性必须得知道其值才有意义吧!!!!
public:
          MyClass(QObject* parent = 0);
          ~MyClass();
          void  setPriority(Priority  priority){    //写属性   与c#中的set 是类似的
                      m_priority = priority;
                      emit priorityChanged(priority); //属性改变发出信号
          }
          Priporty priority () const {      //读属性  与c#中的get类似
                      return  m_priority;      
         }
         signals:
                  void  priorityChanged(Priority);
private:
           Priority   m_priority;//使用此成员你可以存储你的属性值(类似于c# 中的字段)
};

好了,先写到这儿吧至于属性如何用和Q_ENUM 一起记。
分类:qt 笔记|回复:0|浏览:945|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:05-21 22:01
©2005-2016 QTCN开发网 版权所有 Gzip disabled