QT独特特性
1.信号槽
2.动态属性QObject::setProperty(),为继承自QObject的对象赋予独特属性值。
元对象编译器会对Q_Object相关类里面的东西进行编译,生成C++文件,也就是那些moc_的文件。
再让C++编译器编译。
3.属性系统
Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged)
成员变量是一个“内”概念,反映的是类的结构构成。属性是一个“外”概念,反映的是类的逻辑意义。
成员变量没有读写权限控制,而属性可以指定为只读或只写,或可读可写。
成员变量不对读出作任何后处理,不对写入作任何预处理,而属性则可以。
4.对象树:Qt提供了一种机制,能够自动、有效的组织和管理继承自QObject的Qt对象,这种机制就是对象树。这种机制在界面变成上是有好处的,能够帮助程序员缓解内存泄露的问题,比如说当应用程序创建了一个具有父窗口部件的对象时,该对象将被加入父窗口部件的孩子列表。当应用程序销毁父窗口部件时,其下的孩子列表中的对象将被一一删除。