Qt logo

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.

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


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.


Copyright İ 1999 Troll TechTrademarks
Qt version 2.0.2