QCanBus Class

QCanBusクラスはバス・プラグインの登録と作成を行います。詳細...

ヘッダー #include <QCanBus>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
継承: QObject

パブリック関数

(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

静的パブリックメンバ

QCanBus *instance()

詳細な説明

QCanBusは実行時にQt CAN Busプラグインをロードします。シリアルバスプラグインの所有権はローダーに移されます。

メンバー関数ドキュメント

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

すべてのプラグインで使用可能なデバイス、つまり使用可能なすべてのCANインターフェースを返します。

失敗した場合、オプションのパラメータerrorMessage は、テキストによるエラー説明を返します。

注意: プラグインによっては、この関数をサポートしていなかったり、部分的にしかサポートしていなかったりする場合があります。

この関数は Qt 6.8 で導入されました。

createDevice()も参照してください

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

plugin で利用可能なインターフェースを返す。失敗した場合、オプションのパラメータerrorMessage は、テキストのエラー説明を返す。

注意: プラグインによっては、この関数をサポートしていなかったり、部分的にしかサポートしていなかったりする場合があります。

例えば、以下の呼び出しは、利用可能なすべての SocketCAN インタフェース(createDevice() で使用可能)のリストを返します:

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

createDevice()も参照のこと

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

CANバスデバイスを作成します。plugin は、plugins() メソッドによって返されるプラグインの名前です。interfaceName は、CANバスインターフェース名です。失敗した場合、オプションのパラメータerrorMessage は、エラーの説明をテキストで返します。

返されたプラグインの所有権は呼び出し元に移される。適切なデバイスが見つからない場合は、nullptr を返します。

例えば、以下の呼び出しは、SocketCANインターフェースvcan0に接続します:

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

注: interfaceName はプラグインに依存します。詳細については、対応するプラグインのドキュメントを参照してください:CANバスプラグイン。利用可能なインターフェースのリストを取得するには、availableDevices() を使用します。

availableDevices()も参照

[static] QCanBus *QCanBus::instance()

QCanBus クラスへのポインタを返します。QCanBus はシングルトンデザインパターンを使用しています。

QStringList QCanBus::plugins() const

ロードされているすべてのプラグインの識別子のリストを返します。

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