Q3Signal Class Reference [Qt3Support module]
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
- 5 static public members inherited from QObject
- 7 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()
{
sig->activate();
}
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().
|