Auf dieser Seite

QBluetoothLocalDevice Class

Die Klasse „QBluetoothLocalDevice“ ermöglicht den Zugriff auf das lokale Bluetooth-Gerät. Mehr...

Header: #include <QBluetoothLocalDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Bluetooth)
target_link_libraries(mytarget PRIVATE Qt6::Bluetooth)
qmake: QT += bluetooth
Erbt von: QObject

Öffentliche Typen

enum Error { NoError, PairingError, MissingPermissionsError, UnknownError }
enum HostMode { HostPoweredOff, HostConnectable, HostDiscoverable, HostDiscoverableLimitedInquiry }
enum Pairing { Unpaired, Paired, AuthorizedPaired }

Öffentliche Funktionen

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)

Signale

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)

Statische öffentliche Mitglieder

QList<QBluetoothHostInfo> allDevices()

Ausführliche Beschreibung

QBluetoothLocalDevice stellt Funktionen zum Abrufen und Festlegen des Status lokaler Bluetooth-Geräte bereit.

Unter iOS kann diese Klasse nicht verwendet werden, da die Plattform keine Daten oder APIs bereitstellt, die Informationen über das lokale Bluetooth-Gerät liefern könnten.

Dokumentation zu den Mitgliedstypen

enum QBluetoothLocalDevice::Error

Diese Enumeration beschreibt Fehler, die möglicherweise zurückgegeben werden

KonstanteWertBeschreibung
QBluetoothLocalDevice::NoError0Kein bekannter Fehler
QBluetoothLocalDevice::PairingError1Fehler beim Koppeln
QBluetoothLocalDevice::MissingPermissionsError (since Qt 6.4)2Das Betriebssystem fordert Berechtigungen an, die vom Benutzer nicht erteilt wurden.
QBluetoothLocalDevice::UnknownError100Unbekannter Fehler

enum QBluetoothLocalDevice::HostMode

Diese Enumeration beschreibt die meisten lokalen Bluetooth-Geräte.

KonstanteWertBeschreibung
QBluetoothLocalDevice::HostPoweredOff0Gerät ausschalten
QBluetoothLocalDevice::HostConnectable1Externe Bluetooth-Geräte können eine Verbindung zum lokalen Bluetooth-Gerät herstellen, wenn sie zuvor mit diesem gekoppelt wurden oder dessen Adresse anderweitig kennen. Dadurch wird das Gerät eingeschaltet, falls es ausgeschaltet war.
QBluetoothLocalDevice::HostDiscoverable2Externe Bluetooth-Geräte können das lokale Bluetooth-Gerät erkennen. Das Gerät ist zudem verbindbar und eingeschaltet. Unter Android kann dieser Modus maximal 5 Minuten lang aktiv sein.
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry3Entfernte Bluetooth-Geräte können die Anwesenheit des lokalen Bluetooth-Geräts bei einer eingeschränkten Abfrage erkennen. Dies sollte für Ortungsdienste verwendet werden, die nur für einen begrenzten Zeitraum erkennbar sind. Dies kann die Erkennung zwischen Spielgeräten beschleunigen, da die Dienstermittlung auf Geräten, die sich nicht im „LimitedInquiry“-Modus befinden, übersprungen werden kann. In diesem Modus ist das Gerät verbindbar und bei Bedarf eingeschaltet. Dieser Modus wird unter Android nicht unterstützt.

Hinweis: Unter macOS ist es nicht möglich, den „ hostMode “ () festzulegen. Die gemeldeten Host-Modi sind auf „HostPoweredOff“ und „HostConnectable“ beschränkt.

Hinweis: Unter Windows ist es nicht möglich, die „ hostMode “ () auf „HostDiscoverable“ oder „HostDiscoverableLimitedInquiry“ zu setzen. Die Verwendung dieser Modi entspricht dem Modus „HostConnectable“.

Hinweis: Ab Android 13 (API-Level 33) basiert der Zustand „HostPoweredOff“ auf einer nicht-öffentlichen Android-API, da die öffentliche API veraltet ist (siehe (disable())). Dies kann sich in einer zukünftigen Android-Version ändern.

Hinweis: Zumindest unter Android 12 kann die Bluetooth-Sichtbarkeitseinstellung des Geräts das Ergebnis der Einstellung von „HostDiscoverable“ oder „HostConnectable“ beeinflussen. Ist die Sichtbarkeit beispielsweise deaktiviert, ist es möglicherweise nicht möglich, in den Modus „HostDiscoverable“ zu wechseln, stattdessen wird „HostConnectable“ verwendet. Dies kann sich in zukünftigen Android-Versionen ändern.

enum QBluetoothLocalDevice::Pairing

Diese Enumeration beschreibt den Kopplungsstatus zwischen den beiden Bluetooth-Geräten.

KonstanteWertBeschreibung
QBluetoothLocalDevice::Unpaired0Die Bluetooth-Geräte sind nicht gekoppelt.
QBluetoothLocalDevice::Paired1Die Bluetooth-Geräte sind gekoppelt. Das System fordert den Benutzer zur Autorisierung auf, wenn das Remote-Gerät eine Verbindung zum lokalen Gerät herstellt.
QBluetoothLocalDevice::AuthorizedPaired2Die Bluetooth-Geräte sind gekoppelt. Das System fordert den Benutzer nicht zur Autorisierung auf, wenn das Remote-Gerät eine Verbindung zum lokalen Gerät herstellt.

Dokumentation der Mitgliedsfunktionen

[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(QObject *parent = nullptr)

Erstellt ein `QBluetoothLocalDevice` mit ` parent`.

Hinweis: Ab Android 12 (API-Level 31) erfordert die Instanziierung dieser Klasse Bluetooth-Laufzeitberechtigungen (BLUETOOTH_SCAN und BLUETOOTH_CONNECT). Wenn die Berechtigungen nicht erteilt werden, ist das Gerät ungültig.

Siehe auch ` isValid()`.

[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)

Erstellen Sie ein neues `QBluetoothLocalDevice` für ` address`. Wenn ` address ` mit der Standardkonstruktion initialisiert wird, wählt das resultierende lokale Gerät das lokale Standardgerät aus.

Hinweis: Ab Android 12 (API-Level 31) erfordert die Instanziierung dieser Klasse Bluetooth-Laufzeitberechtigungen (BLUETOOTH_SCAN und BLUETOOTH_CONNECT). Wenn die Berechtigungen nicht erteilt werden, ist das Gerät ungültig.

Siehe auch ` isValid()`.

[virtual noexcept] QBluetoothLocalDevice::~QBluetoothLocalDevice()

Zerstört die „ QBluetoothLocalDevice “.

QBluetoothAddress QBluetoothLocalDevice::address() const

Gibt die MAC-Adresse dieses Bluetooth-Geräts zurück.

Hinweis: Unter Android gibt diese Funktion ab Android 6.0 stets den konstanten Wert „ 02:00:00:00:00:00 “ als lokale Adresse zurück. Der programmatische Zugriff auf die lokale MAC-Adresse des Geräts wurde entfernt.

[static] QList<QBluetoothHostInfo> QBluetoothLocalDevice::allDevices()

Gibt eine Liste aller verfügbaren lokalen Bluetooth-Geräte zurück. Unter macOS gibt es nur das „Standard“-Gerät.

QList<QBluetoothAddress> QBluetoothLocalDevice::connectedDevices() const

Gibt die Liste der verbundenen Geräte zurück. Diese Liste unterscheidet sich von der Liste der aktuell gekoppelten Geräte.

Unter Android und macOS ist es nicht möglich, eine Liste der verbundenen Geräte abzurufen. Es ist lediglich möglich, Änderungen bei der Verbindung bzw. Trennung zu überwachen. Der Einfachheit halber überwacht diese Klasse seit ihrer Instanziierung alle Verbindungs- und Trennungsereignisse und gibt beim Aufruf dieser Funktion die aktuelle Liste zurück. Daher ist es möglich, dass diese Funktion kurz nach der Erstellung einer Instanz eine leere Liste zurückgibt.

Siehe auch „ deviceConnected()“ und „ deviceDisconnected()“.

[signal] void QBluetoothLocalDevice::deviceConnected(const QBluetoothAddress &address)

Dieses Signal wird ausgegeben, wenn das lokale Gerät eine Verbindung zu einem entfernten Gerät mit der Funktion „ address “ herstellt.

Siehe auch „ deviceDisconnected()“ und „ connectedDevices()“.

[signal] void QBluetoothLocalDevice::deviceDisconnected(const QBluetoothAddress &address)

Dieses Signal wird ausgegeben, wenn das lokale Gerät die Verbindung zu einem entfernten Bluetooth-Gerät mit der Funktion „ address “ trennt.

Siehe auch „ deviceConnected()“ und „ connectedDevices()“.

[signal, since 6.2] void QBluetoothLocalDevice::errorOccurred(QBluetoothLocalDevice::Error error)

Es wird ein Signal ausgelöst, wenn beim Koppeln ein Ausnahme error auftritt.

Diese Funktion wurde in Qt 6.2 eingeführt.

QBluetoothLocalDevice::HostMode QBluetoothLocalDevice::hostMode() const

Gibt den aktuellen Host-Modus dieses lokalen Bluetooth-Geräts zurück. Unter macOS ist dies entweder „ HostPoweredOff “ oder „ HostConnectable “.

Siehe auch „ setHostMode()“.

[signal] void QBluetoothLocalDevice::hostModeStateChanged(QBluetoothLocalDevice::HostMode state)

Die „ state “ des Betreibers ist nun unter einer anderen Adresse erreichbar: HostMode.

bool QBluetoothLocalDevice::isValid() const

Gibt „ true “ zurück, wenn „ QBluetoothLocalDevice “ ein verfügbares lokales Bluetooth-Gerät darstellt; andernfalls wird „false“ zurückgegeben.

Wird der durch eine Instanz dieser Klasse repräsentierte lokale Bluetooth-Adapter aus dem System entfernt (z. B. durch Entfernen des zugrunde liegenden Bluetooth-Dongles), wird diese Instanz ungültig. Eine bereits ungültige QBluetoothLocalDevice -Instanz bleibt auch dann ungültig, wenn derselbe Bluetooth-Adapter wieder an das System angeschlossen wird.

Hinweis: Ab Android 12 (API-Level 31) erfordert die Instanziierung dieser Klasse Bluetooth-Laufzeitberechtigungen (BLUETOOTH_SCAN und BLUETOOTH_CONNECT). Werden die Berechtigungen nicht erteilt, ist das Gerät ungültig.

Siehe auch ` allDevices()`.

QString QBluetoothLocalDevice::name() const

Gibt den Namen zurück, den der Benutzer diesem Bluetooth-Gerät zugewiesen hat.

[signal] void QBluetoothLocalDevice::pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

Die Kopplung bzw. das Aufheben der Kopplung wurde mit ` address` abgeschlossen. Der aktuelle Kopplungsstatus ist in ` pairing` zu finden. Wenn die Kopplungsanfrage nicht erfolgreich war, wird dieses Signal nicht ausgegeben. Das Signal ` errorOccurred()` wird ausgegeben, wenn die Kopplungsanfrage fehlgeschlagen ist. Das Signal wird ausschließlich für Kopplungsanfragen ausgegeben, die zuvor durch den Aufruf von ` requestPairing()` der aktuellen Objektinstanz angefordert wurden.

QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluetoothAddress &address) const

Gibt den aktuellen Bluetooth-Kopplungsstatus von „ address “ zurück: „nicht gekoppelt“, „gekoppelt“ oder „gekoppelt und autorisiert“.

void QBluetoothLocalDevice::powerOn()

Schaltet das Gerät ein, nachdem es in den Zustand „ hostMode “ () zurückversetzt wurde, sofern es ausgeschaltet war.

Hinweis: Aufgrund unterschiedlicher Sicherheitsrichtlinien auf den unterstützten Plattformen kann diese Methode auf den verschiedenen Plattformen zu unterschiedlichen Verhaltensweisen führen. Beispielsweise kann das System den Benutzer um Bestätigung bitten, bevor Bluetooth ein- oder ausgeschaltet wird. Unter macOS ist es nicht möglich, Bluetooth ein- oder auszuschalten. Weitere Informationen finden Sie in der plattformspezifischen Bluetooth-Dokumentation.

void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

Legen Sie den Status „ pairing “ mit „ address “ fest. Die Ergebnisse werden über das Signal „ pairingFinished()“ zurückgegeben.

Unter Android und macOS ist der Status „ AuthorizedPaired “ nicht möglich und verhält sich wie „Paired“. Unter Windows liegt die Entscheidung über den genauen Kopplungsmodus beim Betriebssystem.

Unter macOS ist es nicht möglich, die Kopplung eines Geräts aufzuheben. Wird „Unpaired“ angefordert, wird sofort „ pairingFinished()“ ausgelöst, obwohl das Gerät weiterhin gekoppelt bleibt. Es ist möglich, die Kopplung für ein zuvor entkoppeltes Gerät anzufordern. Zudem verhält sich „ AuthorizedPaired “ genauso wie „ Paired “.

Achtung: Das Herstellen einer Kopplung kann einige Minuten dauern und erfordert möglicherweise eine Bestätigung durch den Benutzer.

void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)

Stellt den Host-Modus dieses lokalen Bluetooth-Geräts auf „ mode “ ein.

Bestimmte Vorgänge, wie das Ein- oder Ausschalten des Geräts, können einige Zeit in Anspruch nehmen. Daher sollten nachfolgende Aufrufe erst erfolgen, nachdem das Signal „ hostModeStateChanged()“ die vorherige Anfrage abgeschlossen hat. Wird dies ignoriert, ist das Ergebnis einer solchen Aufrufkette nicht eindeutig definiert.

Hinweis: Aufgrund unterschiedlicher Sicherheitsrichtlinien auf den unterstützten Plattformen kann sich das Verhalten dieser Methode auf den verschiedenen Plattformen unterscheiden. Beispielsweise kann das System den Benutzer vor dem Ein- oder Ausschalten von Bluetooth um Bestätigung bitten, und möglicherweise werden nicht alle Host-Modi unterstützt. Unter macOS ist es nicht möglich, den Status von ` hostMode()` programmgesteuert zu ändern. Der Benutzer kann Bluetooth nur in den Systemeinstellungen ein- oder ausschalten. Unter Windows muss diese Methode vom UI-Thread aus aufgerufen werden, da möglicherweise eine Bestätigung durch den Benutzer erforderlich ist. Weitere Informationen finden Sie in der plattformspezifischen Bluetooth-Dokumentation.

Siehe auch ` 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.