Sur cette page

Communication inter-processus dans Qt

Qt propose plusieurs façons d'implémenter la communication inter-processus (IPC) dans les applications Qt.

TCP/IP

Le module multiplateforme Qt Network fournit des classes qui rendent la programmation réseau portable et facile. Il propose des classes de haut niveau (par exemple QNetworkAccessManager) qui communiquent à l'aide de protocoles spécifiques au niveau de l'application, et des classes de niveau inférieur (par exemple QTcpSocket, QTcpServer, QSslSocket) pour la mise en œuvre des protocoles.

Serveur local/socket

Le module multiplateforme Qt Network fournit des classes qui rendent la programmation de réseaux locaux portable et facile. Il propose les classes QLocalServer et QLocalSocket qui permettent une communication de type réseau dans une configuration locale. Leurs équivalents TCP peuvent être utilisés en remplacement pour que la communication fonctionne sur les réseaux.

Mémoire partagée

La classe de mémoire partagée multiplateforme, QSharedMemory, permet d'accéder à l'implémentation de la mémoire partagée du système d'exploitation. Elle permet un accès sûr aux segments de mémoire partagée par plusieurs threads et processus. En outre, QSystemSemaphore peut être utilisé pour contrôler l'accès aux ressources partagées par le système, ainsi que pour communiquer entre les processus.

Protocole D-Bus

Le module Qt D-Bus est une bibliothèque Unix que vous pouvez utiliser pour implémenter l'IPC en utilisant le protocole D-Bus. Il étend le mécanisme Signals and Slots de Qt au niveau IPC, permettant à un signal émis par un processus d'être connecté à un slot dans un autre processus. La documentation de Qt D-Bus contient des informations détaillées sur l'utilisation du module Qt D-Bus module.

Classe QProcess

La classe multiplateforme QProcess peut être utilisée pour démarrer des programmes externes en tant que processus enfants et pour communiquer avec eux. Elle fournit une API pour surveiller et contrôler l'état du processus enfant. QProcess donne accès aux canaux d'entrée/sortie du processus enfant en héritant de QIODevice.

Gestion des sessions

Sous Linux, Windows et macOS, Qt prend en charge la gestion des sessions. Les sessions permettent de propager des événements aux processus, par exemple pour notifier l'arrêt d'un processus. Le processus et les applications peuvent alors effectuer toutes les opérations nécessaires, telles que l'enregistrement des documents ouverts.

Voir également la rubrique IPC sur Qt Core.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.