QCanBus Class

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

Header: #include <QCanBus>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Inherits: 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() で使用可能)のリストを返します:

QString errorString;
const QList<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に接続します:

QString errorString;
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

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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。