Q3Signal Class Reference
The Q3Signal class can be used to send signals for classes that don't inherit QObject. More...
#include <Q3Signal>This class is part of the Qt 3 support library. It is provided to keep old source code working. We strongly advise against using it in new code. See Porting to Qt 4 for more information.
Inherits: QObject.
Public Functions
| 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 |
- 29 public functions inherited from QObject
Additional Inherited Members
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 1 signal inherited from QObject
- 7 static public members inherited from QObject
- 8 protected functions inherited from QObject
Detailed Description
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 instead. QObject provides much more functionality.
You can set a single QVariant parameter for the signal with setValue().
Note that QObject is a private base class of Q3Signal, i.e. you cannot call any QObject member functions from a Q3Signal object.
Example:
#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); }
Member Function Documentation
Q3Signal::Q3Signal ( QObject * parent = 0, const char * name = 0 )
Constructs a signal object called name, with the parent object parent. These arguments are passed directly to QObject.
Q3Signal::~Q3Signal ()
Destroys the signal. All connections are removed, as is the case with all QObjects.
void Q3Signal::activate ()
Emits the signal. If the platform supports QVariant and a parameter has been set with setValue(), this value is passed in the signal.
bool Q3Signal::connect ( const QObject * receiver, const char * member )
Connects the signal to member in object receiver. Returns true if the connection is successful.
See also disconnect() and QObject::connect().
bool Q3Signal::disconnect ( const QObject * receiver, const char * member = 0 )
Disonnects the signal from member in object receiver. Returns true if the connection existed and the disconnect was successful.
See also connect() and QObject::disconnect().
void Q3Signal::setValue ( const QVariant & value )
Sets the signal's parameter to value
See also value().
QVariant Q3Signal::value () const
Returns the signal's parameter
See also setValue().


No notes