# QSignal Class Reference

The QSignal class can be used to send signals without parameters. More...

`#include <qsignal.h>`

List of all member functions.

## Public Members

- QSignal ( QObject * parent=0, const char * name=0 )
- const char* name () const
- void setName ( const char * name )
- bool connect ( const QObject * receiver, const char * member )
- bool disconnect ( const QObject * receiver, const char * member=0 )
- bool isBlocked () const
- void block ( bool b )
- void activate ()

## Detailed Description

The QSignal class can be used to send signals without parameters.

QSignal is a simple extension of QObject that can send plain signals without parameters. If you want to send signals from a class that does not inherit QObject, you can create an internal QSignal object to emit the signal. You must also provide a function that connects the signal to an outside object slot. This is how we have implemented signals in the QMenuData class, which is not a QObject.

In general, we recommend inheriting QObject instead. QObject provides much more functionality.

Note that QObject is a private base class of QSignal, i.e. you cannot call any QObject member functions from a QSignal object.

Example:

        #include <qsignal.h>

        class MyClass
        {
        public:
            MyClass();
           ~MyClass();

            void doSomething();

            void connect( QObject *receiver, const char *member );

        private:
            QSignal *sig;
        };

        MyClass::MyClass()
        {
            sig = new QSignal;
        }

        MyClass::~MyClass()
        {
            delete sig;
        }

        void MyClass::doSomething()
        {
            // ... does something
            sig->activate();        // activates the signal
        }

        void MyClass::connect( QObject *receiver, const char *member )
        {
            sig->connect( receiver, member );
        }

## Member Function Documentation

### QSignal::QSignal ( QObject * parent=0, const char * name=0 )

Constructs a signal object with the parent object parent and a name. These arguments are passed directly to QObject.

### void QSignal::activate ()

Emits the signal.

See also: isBlock().

### void QSignal::block ( bool b )

Blocks the signal if b is TRUE, or unblocks the signal if b is FALSE.

An activated signal disappears into hyperspace if it is blocked.

See also: isBlocked(), activate() and QObject::blockSignals().

### bool QSignal::connect ( const QObject * receiver, const char * member )

Connects the signal to member in object receiver.

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

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

Disonnects the signal from member in object receiver.

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

### bool QSignal::isBlocked () const

Returns TRUE if the signal is blocked, or FALSE if it is not blocked.

The signal is not blocked by default.

See also: block() and QObject::signalsBlocked().

### const char * QSignal::name () const

Returns the name of this signal object.

Since QObject is a private base class, we have added this function, which calls QObject::name().

### void QSignal::setName ( const char * name )

Sets the name of this signal object to name.

Since QObject is a private base class, we have added this function, which calls QObject::setName().

Search the documentation, FAQ, qt-interest archive and more (uses www.troll.no):

This file is part of the Qt toolkit, copyright © 1995-99 Troll Tech, all rights reserved.

It was generated from the following files:

- qsignal.h: 1998/08/21
- qsignal.cpp: 1998/07/03