The Q3Signal class can be used to send signals for classes that don't inherit QObject . 更多...
| 头: | #include <Q3Signal> |
| 继承: | QObject |
| Q3Signal (QObject * parent = 0, const char * name = 0) | |
| ~Q3Signal () | |
| void | activate () |
| bool | connect (const QObject * receiver , const char * member ) |
| bool | disconnect (const QObject * receiver , const char * member = 0) |
| void | setValue (const QVariant & value ) |
| QVariant | value () const |
The Q3Signal class can be used to send signals for classes that don't inherit QObject .
If you want to send signals from a class that does not inherit QObject , you can create an internal Q3Signal object to emit the signal. You must also provide a function that connects the signal to an outside object slot. This is how we used to implement signals in Qt 3's QMenuData class, which was not a QObject . In Qt 4, menus contain actions, which are QObjects .
In general, we recommend inheriting QObject 代替。 QObject provides much more functionality.
You can set a single QVariant parameter for the signal with setValue ().
注意, QObject 是 private base class of Q3Signal , i.e. you cannot call any QObject member functions from a Q3Signal 对象。
范例:
#include <q3signal.h> class MyClass { public: MyClass(); ~MyClass(); void doSomething(); void connect(QObject *receiver, const char *member); private: Q3Signal *sig; }; MyClass::MyClass() { sig = new Q3Signal; } MyClass::~MyClass() { delete sig; } void MyClass::doSomething() { // ... does something sig->activate(); // emits the signal } void MyClass::connect(QObject *receiver, const char *member) { sig->connect(receiver, member); }
Constructs a signal object called name , with the parent object parent . These arguments are passed directly to QObject .
Destroys the signal. All connections are removed, as is the case with all QObjects .
Emits the signal. If the platform supports QVariant and a parameter has been set with setValue (), this value is passed in the signal.
Connects the signal to member 在对象 receiver . Returns true if the connection is successful.
另请参阅 disconnect () 和 QObject::connect ().
Disonnects the signal from member 在对象 receiver . Returns true if the connection existed and the disconnect was successful.
另请参阅 connect () 和 QObject::disconnect ().
Sets the signal's parameter to value
另请参阅 value ().
Returns the signal's parameter
另请参阅 setValue ().