HLab

Julien Hautefeuille

Le point sur les signaux et slots Qt

Lorsqu’on connecte un signal à un slot alors ce slot est appelé lorsque le signal est émis.

Les signaux

  • Un signal est émis lorsqu’un événement se produit.
  • Un signal non connecté est ignoré.
  • Un signal peut être connecté à plusieurs slots.
  • Un signal peut être connecté à un autre signal.
  • Un signal est un attribut d’une classe ou d’une sous-classe de QObject.
  • Un signal lié possède les méthodes : connect(), disconnect(), emit().
  • Un signal peut être surchargé.
  • Les arguments d’un signal peuvent être de n’importe quel type.
  • Les signaux peuvent être déconnectés.

Les slots

  • Un slot est un appel à une fonction Python.
  • Un slot peut être connecté à plusieurs signaux.

Les connexions

  • Les connexions peuvent être synchrones ou mises en file d’attente.
  • Les connexions sont possibles à travers les threads.

Remarques

Quand un signal est émis alors ses arguments sont convertis en types C++. La méthode PySide de création d’un nouvel objet se réalise grâce à la méthode suivante PySide.QtCore.Signal(QObject).

Liens