|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# 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.

- List of all members, including inherited members
- Obsolete members

### 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()
             {
                 // ... 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().