QBluetoothLocalDevice Class
La classe QBluetoothLocalDevice permet d'accéder au périphérique Bluetooth local. Plus d'informations...
| En-tête : | #include <QBluetoothLocalDevice> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Bluetooth)target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake : | QT += bluetooth |
| Héritages : | QObject |
Types publics
| enum | Error { NoError, PairingError, MissingPermissionsError, UnknownError } |
| enum | HostMode { HostPoweredOff, HostConnectable, HostDiscoverable, HostDiscoverableLimitedInquiry } |
| enum | Pairing { Unpaired, Paired, AuthorizedPaired } |
Fonctions publiques
| QBluetoothLocalDevice(QObject *parent = nullptr) | |
| QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0) | |
| virtual | ~QBluetoothLocalDevice() |
| QBluetoothAddress | address() const |
| QList<QBluetoothAddress> | connectedDevices() const |
| QBluetoothLocalDevice::HostMode | hostMode() const |
| bool | isValid() const |
| QString | name() const |
| QBluetoothLocalDevice::Pairing | pairingStatus(const QBluetoothAddress &address) const |
| void | powerOn() |
| void | requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing) |
| void | setHostMode(QBluetoothLocalDevice::HostMode mode) |
Signaux
| void | deviceConnected(const QBluetoothAddress &address) |
| void | deviceDisconnected(const QBluetoothAddress &address) |
(since 6.2) void | errorOccurred(QBluetoothLocalDevice::Error error) |
| void | hostModeStateChanged(QBluetoothLocalDevice::HostMode state) |
| void | pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing) |
Membres publics statiques
| QList<QBluetoothHostInfo> | allDevices() |
Description détaillée
QBluetoothLocalDevice fournit des fonctions permettant d'obtenir et de définir l'état des périphériques Bluetooth locaux.
Sur iOS, cette classe ne peut pas être utilisée car la plateforme n'expose aucune donnée ou API qui pourrait fournir des informations sur le périphérique Bluetooth local.
Membre Type Documentation
enum QBluetoothLocalDevice::Error
Cette énumération décrit les erreurs qui peuvent être renvoyées
| Constante | Valeur | Description de l'erreur |
|---|---|---|
QBluetoothLocalDevice::NoError | 0 | Aucune erreur connue |
QBluetoothLocalDevice::PairingError | 1 | Erreur d'appariement |
QBluetoothLocalDevice::MissingPermissionsError (since Qt 6.4) | 2 | Le système d'exploitation demande des autorisations qui n'ont pas été accordées par l'utilisateur. |
QBluetoothLocalDevice::UnknownError | 100 | Erreur inconnue |
enum QBluetoothLocalDevice::HostMode
Cette énumération décrit la plupart des périphériques Bluetooth locaux.
| Constante | Valeur | Description de la constante |
|---|---|---|
QBluetoothLocalDevice::HostPoweredOff | 0 | Mise hors tension de l'appareil |
QBluetoothLocalDevice::HostConnectable | 1 | Les appareils Bluetooth distants peuvent se connecter à l'appareil Bluetooth local s'ils ont déjà été appariés avec lui ou s'ils connaissent son adresse. Le dispositif est mis sous tension s'il était éteint. |
QBluetoothLocalDevice::HostDiscoverable | 2 | Les appareils Bluetooth distants peuvent découvrir la présence de l'appareil Bluetooth local. L'appareil sera également connectable et mis sous tension. Sur Android, ce mode ne peut être actif que pendant 5 minutes au maximum. |
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry | 3 | Les appareils Bluetooth distants peuvent découvrir la présence de l'appareil Bluetooth local en effectuant une recherche limitée. Ce mode devrait être utilisé pour localiser des services qui ne sont accessibles que pendant une période limitée. Cela peut accélérer la découverte entre les appareils de jeu, car la découverte des services peut être ignorée sur les appareils qui ne sont pas en mode d'interrogation limitée. Dans ce mode, l'appareil peut être connecté et mis sous tension, si nécessaire. Ce mode n'est pas pris en charge sur Android. |
Remarque : sur macOS, il n'est pas possible de définir l'adresse hostMode(). Les modes d'hôte signalés sont limités à HostPoweredOff et HostConnectable.
Remarque : sous Windows, il n'est pas possible de définir hostMode() sur HostDiscoverable ou HostDiscoverableLimitedInquiry. L'utilisation de ces modes est équivalente à HostConnectable.
Remarque : à partir d'Android 13 (niveau API 33), l'état HostPoweredOff repose sur une API Android non publique, car l'API publique a été dépréciée, voir(disable()). Cela pourrait changer dans une prochaine version d'Android.
Note : Au moins sur Android 12, le paramètre de visibilité Bluetooth de l'appareil peut dicter le résultat du paramètre HostDiscoverable ou HostConnectable. Par exemple, si la visibilité est désactivée, il ne sera peut-être pas possible d'entrer dans le mode HostDiscoverable, mais HostConnectable sera utilisé à la place. Cela pourrait changer dans les prochaines versions d'Android.
enum QBluetoothLocalDevice::Pairing
Cette énumération décrit l'état de l'appariement entre les deux appareils Bluetooth.
| Constante | Valeur | Description de l'état |
|---|---|---|
QBluetoothLocalDevice::Unpaired | 0 | Les appareils Bluetooth ne sont pas appariés. |
QBluetoothLocalDevice::Paired | 1 | Les appareils Bluetooth sont appariés. Le système demande une autorisation à l'utilisateur lorsque l'appareil distant établit une connexion avec l'appareil local. |
QBluetoothLocalDevice::AuthorizedPaired | 2 | Les périphériques Bluetooth sont appariés. Le système ne demande pas d'autorisation à l'utilisateur lorsque l'appareil distant établit une connexion avec l'appareil local. |
Documentation sur les fonctions des membres
[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(QObject *parent = nullptr)
Construit un QBluetoothLocalDevice avec parent.
Remarque : à partir d'Android 12 (API level 31), la construction de cette classe nécessite des autorisations d'exécution Bluetooth(BLUETOOTH_SCAN et BLUETOOTH_CONNECT). Si les autorisations ne sont pas accordées, le dispositif ne sera pas valide.
Voir aussi isValid().
[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)
Construit un nouveau QBluetoothLocalDevice pour address. Si address est construit par défaut, le périphérique local résultant sélectionne le périphérique local par défaut.
Remarque : à partir d'Android 12 (niveau API 31), la construction de cette classe nécessite des autorisations d'exécution Bluetooth(BLUETOOTH_SCAN et BLUETOOTH_CONNECT). Si les autorisations ne sont pas accordées, le dispositif ne sera pas valide.
Voir aussi isValid().
[virtual noexcept] QBluetoothLocalDevice::~QBluetoothLocalDevice()
Détruit le site QBluetoothLocalDevice.
QBluetoothAddress QBluetoothLocalDevice::address() const
Renvoie l'adresse MAC de ce périphérique Bluetooth.
Remarque : sur Android, cette fonction renvoie toujours la valeur constante 02:00:00:00:00:00 comme adresse locale à partir d'Android 6.0. L'accès programmatique à l'adresse MAC locale de l'appareil a été supprimé.
[static] QList<QBluetoothHostInfo> QBluetoothLocalDevice::allDevices()
Renvoie une liste de tous les périphériques Bluetooth locaux disponibles. Sous macOS, il n'y a que le périphérique local "par défaut".
QList<QBluetoothAddress> QBluetoothLocalDevice::connectedDevices() const
Renvoie la liste des appareils connectés. Cette liste est différente de la liste des appareils actuellement appariés.
Sur Android et macOS, il n'est pas possible de récupérer une liste d'appareils connectés. Il est seulement possible d'écouter les changements de (dé)connexion. Pour des raisons pratiques, cette classe surveille tous les événements de connexion et de déconnexion depuis son instanciation et renvoie la liste actuelle lors de l'appel de cette fonction. Il est donc possible que cette fonction renvoie une liste vide peu après la création d'une instance.
Voir aussi deviceConnected() et deviceDisconnected().
[signal] void QBluetoothLocalDevice::deviceConnected(const QBluetoothAddress &address)
Ce signal est émis lorsque le dispositif local établit une connexion avec un dispositif distant à l'aide de address.
Voir également deviceDisconnected() et connectedDevices().
[signal] void QBluetoothLocalDevice::deviceDisconnected(const QBluetoothAddress &address)
Ce signal est émis lorsque l'appareil local se déconnecte d'un appareil Bluetooth distant avec address.
Voir également deviceConnected() et connectedDevices().
[signal, since 6.2] void QBluetoothLocalDevice::errorOccurred(QBluetoothLocalDevice::Error error)
Signal émis en cas d'anomalie sur error lors de l'appairage.
Cette fonction a été introduite dans Qt 6.2.
QBluetoothLocalDevice::HostMode QBluetoothLocalDevice::hostMode() const
Renvoie le mode hôte actuel de ce périphérique Bluetooth local. Sous macOS, il s'agit de HostPoweredOff ou HostConnectable.
Voir aussi setHostMode().
[signal] void QBluetoothLocalDevice::hostModeStateChanged(QBluetoothLocalDevice::HostMode state)
Le site state de l'hôte est passé à un autre site HostMode.
bool QBluetoothLocalDevice::isValid() const
Renvoie true si le site QBluetoothLocalDevice représente un appareil Bluetooth local disponible ; sinon, renvoie false.
Si l'adaptateur Bluetooth local représenté par une instance de cette classe est retiré du système (par exemple, retrait du dongle Bluetooth sous-jacent), cette instance devient invalide. Une instance QBluetoothLocalDevice déjà invalide reste invalide même si le même adaptateur Bluetooth est réintroduit dans le système.
Remarque : à partir d'Android 12 (niveau API 31), la construction de cette classe nécessite des autorisations d'exécution Bluetooth(BLUETOOTH_SCAN et BLUETOOTH_CONNECT). Si les autorisations ne sont pas accordées, le dispositif ne sera pas valide.
Voir aussi allDevices().
QString QBluetoothLocalDevice::name() const
Renvoie le nom attribué par l'utilisateur à ce périphérique Bluetooth.
[signal] void QBluetoothLocalDevice::pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
L'appairage ou le désappairage est terminé avec address. L'état actuel de l'appairage est indiqué dans pairing. Si la demande d'appairage n'a pas abouti, ce signal n'est pas émis. Le signal errorOccurred() est émis si la demande d'appairage a échoué. Le signal n'est jamais émis que pour les demandes d'appariement qui ont été demandées précédemment en appelant requestPairing() de l'instance d'objet actuelle.
QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluetoothAddress &address) const
Renvoie l'état actuel de l'appairage bluetooth de address, s'il est non apparié, apparié ou apparié et autorisé.
void QBluetoothLocalDevice::powerOn()
Met l'appareil sous tension après l'avoir ramené à l'état hostMode(), s'il était hors tension.
Remarque : en raison de la diversité des politiques de sécurité sur les plateformes prises en charge, cette méthode peut avoir des comportements différents sur les différentes plateformes. Par exemple, le système peut demander à l'utilisateur une confirmation avant d'activer ou de désactiver le Bluetooth. Sur macOS, il n'est pas possible d'activer/désactiver le Bluetooth. Veuillez vous référer à la documentation Bluetooth spécifique à la plateforme pour plus de détails.
void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
Définissez l'état de pairing à l'aide de address. Les résultats sont renvoyés par le signal pairingFinished().
Sur Android et macOS, AuthorizedPaired n'est pas possible et aura le même comportement que Paired. Sous Windows, c'est le système d'exploitation qui décide du mode d'appariement exact.
Sous macOS, il n'est pas possible de désapparier un appareil. Si Unpaired est demandé, pairingFinished() est immédiatement émis bien que l'appareil reste apparié. Il est possible de demander l'appairage d'un appareil qui n'a pas été apparié auparavant. En outre, AuthorizedPaired a le même comportement que Paired.
Attention : la création d'un jumelage peut prendre plusieurs minutes et peut nécessiter un accusé de réception de la part de l'utilisateur.
void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)
Définit le mode hôte de ce périphérique Bluetooth local sur mode.
Certaines transitions, telles que l'activation ou la désactivation de l'appareil, peuvent prendre un certain temps. C'est pourquoi les appels suivants ne doivent être effectués qu'une fois que le signal hostModeStateChanged() a mis fin à la demande précédente. Si ce signal est ignoré, le résultat d'une telle série d'appels n'est pas bien défini.
Note : En raison des différentes politiques de sécurité sur les plateformes supportées, cette méthode peut avoir des comportements différents sur les différentes plateformes. Par exemple, le système peut demander à l'utilisateur une confirmation avant d'activer ou de désactiver le Bluetooth et tous les modes hôtes ne sont pas forcément pris en charge. Sous macOS, il n'est pas possible de modifier par programmation le site hostMode(). L'utilisateur ne peut activer/désactiver le Bluetooth que dans les préférences du système. Sous Windows, cette méthode doit être appelée à partir du fil d'exécution de l'interface utilisateur, car elle peut nécessiter une confirmation de la part de l'utilisateur. Veuillez vous référer à la documentation Bluetooth spécifique à la plate-forme pour plus de détails.
Voir également hostMode().
© 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.