QCanBus Class

Die Klasse QCanBus dient der Registrierung und Erstellung von Bus-Plugins. Mehr...

Kopfzeile: #include <QCanBus>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Vererbungen: QObject

Öffentliche Funktionen

(since 6.8) QList<QCanBusDeviceInfo> availableDevices(QString *errorMessage = nullptr) const
QList<QCanBusDeviceInfo> availableDevices(const QString &plugin, QString *errorMessage = nullptr) const
QCanBusDevice *createDevice(const QString &plugin, const QString &interfaceName, QString *errorMessage = nullptr) const
QStringList plugins() const

Statische öffentliche Mitglieder

QCanBus *instance()

Detaillierte Beschreibung

QCanBus lädt Qt CAN Bus Plugins zur Laufzeit. Das Eigentum an seriellen Bus-Plugins wird an den Loader übertragen.

Dokumentation der Mitgliedsfunktionen

[since 6.8] QList<QCanBusDeviceInfo> QCanBus::availableDevices(QString *errorMessage = nullptr) const

Gibt die verfügbaren Geräte für alle Plugins zurück, d.h. alle verfügbaren CAN-Schnittstellen.

Im Falle eines Fehlers gibt der optionale Parameter errorMessage eine textuelle Fehlerbeschreibung zurück.

Hinweis: Einige Plugins unterstützen diese Funktion möglicherweise nicht oder nur teilweise.

Diese Funktion wurde in Qt 6.8 eingeführt.

Siehe auch createDevice().

QList<QCanBusDeviceInfo> QCanBus::availableDevices(const QString &plugin, QString *errorMessage = nullptr) const

Gibt die verfügbaren Schnittstellen für plugin zurück. Im Falle eines Fehlers gibt der optionale Parameter errorMessage eine textuelle Fehlerbeschreibung zurück.

Hinweis: Einige Plugins unterstützen diese Funktion möglicherweise nicht oder nur teilweise.

Der folgende Aufruf gibt zum Beispiel eine Liste aller verfügbaren SocketCAN-Schnittstellen zurück (die für createDevice() verwendet werden können):

QString errorString;const QList<QCanBusDeviceInfo> devices = QCanBus::instance()->availableDevices(    QStringLiteral("socketcan"), &errorString);if (!errorString.isEmpty())    qDebug() << errorString;

Siehe auch createDevice().

QCanBusDevice *QCanBus::createDevice(const QString &plugin, const QString &interfaceName, QString *errorMessage = nullptr) const

Erzeugt ein CAN-Bus-Gerät. plugin ist der Name des Plugins, wie er von der Methode plugins() zurückgegeben wird. interfaceName ist der Name der CAN-Bus-Schnittstelle. Im Falle eines Fehlers gibt der optionale Parameter errorMessage eine textuelle Fehlerbeschreibung zurück.

Das Eigentum an dem zurückgegebenen Plugin geht auf den Aufrufer über. Gibt nullptr zurück, wenn kein passendes Gerät gefunden werden kann.

Der folgende Aufruf würde zum Beispiel eine Verbindung zur SocketCAN-Schnittstelle vcan0 herstellen:

QString errorString;QCanBusDevice *device = QCanBus::instance()->createDevice(    QStringLiteral("socketcan"), QStringLiteral("vcan0"), &errorString);if (!device)    qDebug() << errorString;
else device->connectDevice();

Hinweis: Die interfaceName ist pluginabhängig. Siehe die entsprechende Plugin-Dokumentation für weitere Informationen: CAN-Bus-Plugins. Um eine Liste der verfügbaren Schnittstellen zu erhalten, kann availableDevices() verwendet werden.

Siehe auch availableDevices().

[static] QCanBus *QCanBus::instance()

Gibt einen Zeiger auf die Klasse QCanBus zurück. Das Objekt wird bei Bedarf geladen. QCanBus verwendet das Singleton-Designmuster.

QStringList QCanBus::plugins() const

Gibt eine Liste von Bezeichnern für alle geladenen Plugins zurück.

© 2025 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.