Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Classes  ·  Annotées  ·  Hiérarchie  ·  Fonctions  ·  Structure  · 

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 ) 
  • ~QSignal () 
  • const char* name () const
  • virtual 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 () 
  • void setParameter ( int value ) 
  • int parameter () const

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-2005 Trolltech, all rights reserved.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 64
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. La rubrique Qt a besoin de vous ! 1
Page suivante

Le Qt Labs au hasard

Logo

Le moteur de rendu OpenVG

Les Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 2.3
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web