QCanBus Class
Die Klasse „QCanBus“ übernimmt die Registrierung und Erstellung von Bus-Plugins. Mehr...
| Header: | #include <QCanBus> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
| qmake: | QT += serialbus |
| Erbt von: | 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() |
Ausführliche Beschreibung
QCanBus lädt Qt-CAN-Bus-Plugins zur Laufzeit. Die Eigentumsrechte an den seriellen Bus-Plugins werden auf 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 Fehlerfall 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 Fehlerfall gibt der optionale Parameter „ errorMessage “ eine textuelle Fehlerbeschreibung zurück.
Hinweis: Einige Plugins unterstützen diese Funktion möglicherweise nicht oder nur teilweise.
Beispielsweise gibt der folgende Aufruf 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
Erstellt 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.
Die Eigentumsrechte am zurückgegebenen Plugin werden auf den Aufrufer übertragen. Gibt „ nullptr “ zurück, wenn kein passendes Gerät gefunden werden kann.
Beispielsweise würde der folgende Aufruf eine Verbindung zur SocketCAN-Schnittstelle „vcan0“ herstellen:
QString errorString;
QCanBusDevice*device = QCanBus::instance()->createDevice(
QStringLiteral("socketcan"), QStringLiteral("vcan0"), &errorString);
if (!device)
qDebug() << errorString;
sonst
device->connectDevice();Hinweis: Die Funktion „ interfaceName “ ist pluginabhängig. Weitere Informationen finden Sie in der entsprechenden Plugin-Dokumentation: CAN-Bus-Plugins. Um eine Liste der verfügbaren Schnittstellen zu erhalten, kann die Funktion „ 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 “ nutzt das Singleton-Entwurfsmuster.
QStringList QCanBus::plugins() const
Gibt eine Liste mit den Bezeichnern aller geladenen Plugins zurück.
© 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.