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

- 28 public functions inherited from QObject

### Additional Inherited Members

- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 1 signal inherited from QObject
- 4 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.

See also disconnect() and QObject::connect().

### bool Q3Signal::disconnect ( const QObject * receiver, const char * member = 0 )

Disonnects the signal from member in object receiver.

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().