ChinaUnix.net
相关文章推荐:

QOBJECT

    通常一个类库都会有一个类做为所有类的根类,MFC有CObject,Borland的OWL有TObject,java也有一个object。对于QT Embedded来说,这个类就是qobjectqobject作为根类,定义了整个类库的所需要的一些特性:元对象模型,signal/slot机制,event机制等。下面的文章就分别分绍一下。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/92787/showart_1840382.html

by dragonscroll - Linux文档专区 - 2009-02-23 23:41:56 阅读(585) 回复(0)

相关讨论

3. event机制    在面象对象编程中,对象是核心。对象之间的需要通讯,对象A需要给对象B发消息。A对象向怎么才能向B对象发消息message? 一般需要把message定义成B对象的一个函数,然后由A对象调用b->message.这种实现不灵活,每个message都要定义函数。    在UI系统中,不同的widget会经常发各种消息,要用上面的方式肯定是不行的。通常UI系统都会把这些消息和消息参数规范化。QT把消息类型和消息参数都...

by dragonscroll - Linux文档专区 - 2009-02-24 00:41:20 阅读(1138) 回复(0)

2. signal/slot     signal/slot机制是QT最具特色的特性。signal/slot巧妙的简单的实现了面向对象编程中经常使用的观察者模式(observer,或称为消息预定模式)。同时也封装了callback机制,一定程度上保证了callback函数的类型安全。  从实现上来看,signal/slot需要QMetaObject和moc编译器的支持。signal和slot实际上是两种类函数,分别需要在类函数声明前面加signals和slots两个宏。  以QButton的一个...

by dragonscroll - Linux文档专区 - 2009-02-24 00:38:15 阅读(752) 回复(0)

1.元对象    元对象被称做是meta object.在运行时刻(runtime),能够提供对象的运行时信息。   在C++语言发展的早期,C++语言本身没有定义对象的运行时信息,如输出类的名称,父类的名称,判断对象的继承关系等等。虽然新的C++语言增加了RTTI,但还是不够的。这些信息在面向对象编程和调试程序过程中是非常有用的。因此不同的类库采取了不同的方式来扩展语言。   MFC的实现方式是宏定义:如DECLARE_DYN...

by dragonscroll - Linux文档专区 - 2009-02-24 00:33:44 阅读(687) 回复(0)