HomeHome

ClassesAnnotated - TreeFunctionsHomeStructure

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


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.

QSignal::~QSignal ()

Destructs the signal. All connections are removed, as is the case with all QObjects.

void QSignal::activate ()

Emits the signal.

See also isBlocked().

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

int QSignal::parameter () const

Returns the signal's parameter.

void QSignal::setName ( const char * name ) [virtual]

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

Reimplemented from QObject.

void QSignal::setParameter ( int value )

Sets the signal's parameter to value


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


This file is part of the Qt toolkit, copyright © 1995-2000 Trolltech, all rights reserved.


Copyright İ 2000 TrolltechTrademarks
Qt version 2.2.1