StupidBeauty
Read times:1509Posted at: - no title specified

Qt5.4文档翻译:QObject,QObject Class

成员函数文档

[virtual protected] void  QObject::​ childEvent ( QChildEvent  *  event )

这个事件处理器,可在子类中进行覆盖,以接收子代事件。事件是通过 event 参数来传递的。

在子代对象被添加或删除时,会向对象发送 QEvent::ChildAdded QEvent::ChildRemoved 事件。在两种情况下,妳都只能确切地认为该子代对象是一个 QObject ,而如果 isWidgetType () 返回真( true ),则可以认为它是一个 QWidget ( 这是因为, ChildAdded 事件中,对应 的子代对象当前并未完全构造完毕, 而在 ChildRemoved 事件中,对应 的子代对象可能已经被析构了 )

以下情况下会向部件发送 QEvent::ChildPolished 事件:子代部件被润色( polished );或者,已被润色的子代部件被添加。如果妳接收到了一个子代润色事件,那么,该子代对象的构造通常已经完成了。然而,我们并不保证这一点,并且,在一个部件的构造函数中,可能会多次传递润色事件。

对于每个子代部件 ,妳都会接收到一个 ChildAdded 事件,0个或多个 ChildPolished 事件,以及一个 ChildRemoved 事件。

如果某个子代对象 在被添加之后立即就被删除了,则, ChildPolished 事件会被省略。如果 在构造和析构函数中,某个子代对象被多次润色,则, 妳可能会针对同一个子代对象接收到多个子代润色事件,每次附带 的虚函数表不同。

参考 event ()

bool  QObject::​ isWidgetType () const

如果 这个对象是一个部件(widget),则返回真( true );否则返回 假( false )。

调用 这个函数,等价于调用 inherits("QWidget") ,不过这个函数快得多。

宏文档

Q_INVOKABLE

向成员函数的声明语句中加入这个宏,就会使得它们能够通过元对象系统调用。这个宏要写在返回类型前面,例如:

class Window : public QWidget

{

Q_OBJECT

public:

Window();

void normalMethod();

Q_INVOKABLE void invokableMethod();

};

invokableMethod() 函数 被Q_INVOKABLE 修饰了,使得 它被注册到元对象系统中,并且 可通过 QMetaObject::invokeMethod ()来调用。由于 normalMethod() 函数 没有被注册,所以,无法通过 QMetaObject::invokeMethod ()来调用。

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands