このページでは

QDBusVariant Class

QDBusVariant クラスを使用すると、プログラマは D-Bus タイプシステムによって提供されるバリアント型を識別することができます。詳細...

ヘッダー: #include <QDBusVariant>
CMake: find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: QT += dbus

パブリック関数

QDBusVariant()
QDBusVariant(const QVariant &variant)
void setVariant(const QVariant &variant)
void swap(QDBusVariant &other)
QVariant variant() const

詳細な説明

整数、D-Busバリアント、および文字列をパラメータとして受け取る D-Bus 関数は、以下の引数リストで呼び出すことができます(QDBusMessage::setArguments() を参照):

    QList<QVariant> arguments;
    arguments << QVariant(42) << QVariant::fromValue(QDBusVariant(43)) << QVariant("hello");
    myDBusMessage.setArguments(arguments);

D-Bus関数がD-Busバリアントを返す場合、次のように取得できます:

    // call a D-Bus function that returns a D-Bus variant
    QVariant v = callMyDBusFunction();
    // retrieve the D-Bus variant
    QDBusVariant dbusVariant = qvariant_cast<QDBusVariant>(v);
    // retrieve the actual value stored in the D-Bus variant
    QVariant result = dbusVariant.variant();

QDBusVariant 内のQVariant は、通常の D-Bus 値と D-Bus バリアント内の値とを区別するために必要です。

「Qt D-Bus の型システム」も参照してください 。

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

[noexcept] QDBusVariant::QDBusVariant()

新しい D-Bus バリアントを作成します。

[explicit] QDBusVariant::QDBusVariant(const QVariant &variant)

variant指定された Qt XML-ph-0000@deepl.internalから、新しい D-Bus バリアントを作成します。

setVariant()も参照してください 。

void QDBusVariant::setVariant(const QVariant &variant)

variant 指定された Qt XML-ph-0000@deepl.internalの値を、この Qt D-Bus バリアントに割り当てます。

variant()も参照してください 。

[noexcept] void QDBusVariant::swap(QDBusVariant &other)

このバリアントを `other` と入れ替えます。この操作は非常に高速で、失敗することはありません。

QVariant QDBusVariant::variant() const

この D-Bus バリアントを、QVariant オブジェクトとして返します。

setVariant()も参照してください 。

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