QItemModelScatterDataProxy Class

アイテムモデルのデータをQ3DScatterWidgetItem で表示するためのプロキシ・クラスです。もっと見る...

Header: #include <QItemModelScatterDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: ItemModelScatterDataProxy
Inherits: QScatterDataProxy

プロパティ

パブリック関数

QItemModelScatterDataProxy(QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)
virtual ~QItemModelScatterDataProxy() override
QAbstractItemModel *itemModel() const
void remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)
QString rotationRole() const
QRegularExpression rotationRolePattern() const
QString rotationRoleReplace() const
void setItemModel(QAbstractItemModel *itemModel)
void setRotationRole(const QString &role)
void setRotationRolePattern(const QRegularExpression &pattern)
void setRotationRoleReplace(const QString &replace)
void setXPosRole(const QString &role)
void setXPosRolePattern(const QRegularExpression &pattern)
void setXPosRoleReplace(const QString &replace)
void setYPosRole(const QString &role)
void setYPosRolePattern(const QRegularExpression &pattern)
void setYPosRoleReplace(const QString &replace)
void setZPosRole(const QString &role)
void setZPosRolePattern(const QRegularExpression &pattern)
void setZPosRoleReplace(const QString &replace)
QString xPosRole() const
QRegularExpression xPosRolePattern() const
QString xPosRoleReplace() const
QString yPosRole() const
QRegularExpression yPosRolePattern() const
QString yPosRoleReplace() const
QString zPosRole() const
QRegularExpression zPosRolePattern() const
QString zPosRoleReplace() const

シグナル

void itemModelChanged(const QAbstractItemModel *itemModel)
void rotationRoleChanged(const QString &role)
void rotationRolePatternChanged(const QRegularExpression &pattern)
void rotationRoleReplaceChanged(const QString &replace)
void xPosRoleChanged(const QString &role)
void xPosRolePatternChanged(const QRegularExpression &pattern)
void xPosRoleReplaceChanged(const QString &replace)
void yPosRoleChanged(const QString &role)
void yPosRolePatternChanged(const QRegularExpression &pattern)
void yPosRoleReplaceChanged(const QString &replace)
void zPosRoleChanged(const QString &role)
void zPosRolePatternChanged(const QRegularExpression &pattern)
void zPosRoleReplaceChanged(const QString &replace)

詳細説明

QItemModelScatterDataProxy を使用すると、Q3DScatterWidgetItem のデータソースとしてQAbstractItemModel 派生モデルを使用できます。これは、QAbstractItemModel の役割をQ3DScatterWidgetItem ポイントの XYZ 値にマッピングします。

マッピングやモデルが変更されるたびに、データは非同期に解決されます。QScatterDataProxy::arrayResetデータが解決されると()が出力されます。しかし、挿入、削除、およびモデル初期化後の単一データ項目の変更は、同じフレームにモデル全体を解決するような変更が含まれていない限り、同期的に解決されます。

マッピングはQAbstractItemModel の行や列を無視し、全ての項目を平等に扱います。モデルには、散布点のX、Y、Z値にマッピングできるデータ項目のロールを提供する必要があります。

例えば、材料サンプルで行われた様々な測定を保存するためのカスタムQAbstractItemModel 、「密度」、「硬度」、「導電率」などの役割のデータを提供するとします。このプロキシを使用して、散布図上でこれらの特性を可視化することができます:

// Map "density" value to X-axis, "hardness" to Y-axis and "conductivity" to Z-axis.
QItemModelScatterDataProxy *proxy = new QItemModelScatterDataProxy(customModel,
                                                                   QStringLiteral("density"),
                                                                   QStringLiteral("hardness"),
                                                                   QStringLiteral("conductivity"));

モデルのフィールドに必要な形式のデータが含まれていない場合、検索パターンの正規表現と各ロールの置換ルールを指定することで、必要な形式の値を得ることができます。正規表現を使用した置換がどのように動作するかの詳細については、QString::replace(constQRegularExpression &rx, constQString &after)関数のドキュメントを参照してください。正規表現の使用はパフォーマンスに影響を与えるので、目的の値を得るために検索と置換を行う必要がない項目モデルを利用する方が効率的であることに注意してください。

検索パターンをロールと組み合わせて使用する例については、ItemModelBarDataProxy usage inSimple Bar Graphを参照してください。

Qt グラフの 3D によるデータ処理も参照してください

プロパティ ドキュメント

itemModel : QAbstractItemModel*

このプロパティは、3D散布図系列のデータソースとして使用する項目モデルを保持します。

アクセス関数

QAbstractItemModel *itemModel() const
void setItemModel(QAbstractItemModel *itemModel)

通知シグナル:

void itemModelChanged(const QAbstractItemModel *itemModel)

rotationRole : QString

このプロパティは、項目の回転にマッピングする項目モデルの役割を保持する。

モデルは、QQuaternion に直接変換可能なバリアントとして、または文字列表現の 1 つとして、回転の値を供給することができる:"scalar,x,y,z" または"@angle,x,y,z" 。前者は、与えられた値で直接クオータニオンを構築し、後者は、QQuaternion::fromAxisAndAngle() メソッドを使用してクオータニオンを構築する。

アクセス関数

QString rotationRole() const
void setRotationRole(const QString &role)

通知シグナル:

void rotationRoleChanged(const QString &role)

rotationRolePattern : QRegularExpression

このプロパティは、項目の回転として使用される前に、回転ロールによってマップされた値に対して検索と置換が行われるかどうかを保持します。

このプロパティには、マップされた値の置換する部分を検索するための正規表現が指定され、rotationRoleReplace プロパティには置換文字列が格納されます。

アクセス関数:

QRegularExpression rotationRolePattern() const
void setRotationRolePattern(const QRegularExpression &pattern)

Notifier シグナル:

void rotationRolePatternChanged(const QRegularExpression &pattern)

rotationRole およびrotationRoleReplaceも参照のこと

rotationRoleReplace : QString

このプロパティは、ローテーション役割パターンと組み合わせて使用される置換内容を保持する。

デフォルトは空文字列です。正規表現による検索と置換の動作の詳細については、QString::replace(constQRegularExpression &rx, constQString &after)関数のドキュメントを参照してください。

アクセス関数:

QString rotationRoleReplace() const
void setRotationRoleReplace(const QString &replace)

通知シグナル:

void rotationRoleReplaceChanged(const QString &replace)

rotationRole およびrotationRolePatternも参照してください

xPosRole : QString

このプロパティは、X 位置にマップするアイテムモデルロールを保持します。

アクセス関数

QString xPosRole() const
void setXPosRole(const QString &role)

ノーティファイアシグナル:

void xPosRoleChanged(const QString &role)

xPosRolePattern : QRegularExpression

このプロパティは、X 位置ロールによってマップされた値を項目位置値として使用する前に、検索と置換を行うかどうかを保持する。

このプロパティには、マップされた値の置換する部分を検索するための正規表現を指定し、xPosRoleReplace プロパティには置換文字列を指定する。

アクセス関数:

QRegularExpression xPosRolePattern() const
void setXPosRolePattern(const QRegularExpression &pattern)

Notifier シグナル:

void xPosRolePatternChanged(const QRegularExpression &pattern)

xPosRole およびxPosRoleReplaceも参照のこと

xPosRoleReplace : QString

このプロパティは、x 位置役割パターンと組み合わせて使用される置換内容を保持する。

デフォルトは空文字列です。正規表現による検索と置換の動作の詳細については、QString::replace(constQRegularExpression &rx, constQString &after)関数のドキュメントを参照してください。

アクセス関数:

QString xPosRoleReplace() const
void setXPosRoleReplace(const QString &replace)

通知シグナル:

void xPosRoleReplaceChanged(const QString &replace)

xPosRole およびxPosRolePatternも参照してください

yPosRole : QString

このプロパティは、Y 位置にマッピングするアイテムモデルロールを保持します。

アクセス関数

QString yPosRole() const
void setYPosRole(const QString &role)

ノーティファイアシグナル:

void yPosRoleChanged(const QString &role)

yPosRolePattern : QRegularExpression

このプロパティは、項目位置値として使用される前に、y 位置ロールによってマップされた値に対して検索と置換が行われるかどうかを保持する。

このプロパティには、マップされた値の置換する部分を検索するための正規表現が指定され、yPosRoleReplace プロパティには置換文字列が格納される。

アクセス関数:

QRegularExpression yPosRolePattern() const
void setYPosRolePattern(const QRegularExpression &pattern)

Notifier シグナル:

void yPosRolePatternChanged(const QRegularExpression &pattern)

yPosRole およびyPosRoleReplaceも参照のこと

yPosRoleReplace : QString

このプロパティは、y位置ロールパターンと組み合わせて使用される置換内容を保持する。

デフォルトは空文字列です。正規表現による検索と置換の動作の詳細については、QString::replace(constQRegularExpression &rx, constQString &after)関数のドキュメントを参照してください。

アクセス関数:

QString yPosRoleReplace() const
void setYPosRoleReplace(const QString &replace)

通知シグナル:

void yPosRoleReplaceChanged(const QString &replace)

yPosRole およびyPosRolePatternも参照してください

zPosRole : QString

このプロパティは、Z 位置にマップするアイテムモデルのロールを保持します。

アクセス関数

QString zPosRole() const
void setZPosRole(const QString &role)

ノーティファイアシグナル:

void zPosRoleChanged(const QString &role)

zPosRolePattern : QRegularExpression

このプロパティは、項目位置値として使用される前に、Z 位置ロールによってマップされた値に対して検索と置換が行われるかどうかを保持する。

このプロパティには、マップされた値の置換する部分を検索するための正規表現が指定され、zPosRoleReplace プロパティには置換文字列が格納される。

アクセス関数:

QRegularExpression zPosRolePattern() const
void setZPosRolePattern(const QRegularExpression &pattern)

Notifier シグナル:

void zPosRolePatternChanged(const QRegularExpression &pattern)

zPosRole およびzPosRoleReplaceも参照のこと

zPosRoleReplace : QString

このプロパティは、z 位置役割パターンと組み合わせて使用される置換内容を保持する。

デフォルトは空文字列です。正規表現による検索と置換の動作の詳細については、QString::replace(constQRegularExpression &rx, constQString &after)関数のドキュメントを参照してください。

アクセス関数:

QString zPosRoleReplace() const
void setZPosRoleReplace(const QString &replace)

通知シグナル:

void zPosRoleReplaceChanged(const QString &replace)

zPosRole およびzPosRolePatternも参照のこと

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

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QObject *parent = nullptr)

QItemModelScatterDataProxy をparent オプション付きで構築します。

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)

QItemModelScatterDataProxy をitemModel とオプションのparent で構築します。通常、アイテム モデルは他のコントロールによって所有されるため、プロキシはitemModel の所有権を取りません。

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)

itemModel とオプションのparent で QItemModelScatterDataProxy を構築します。項目モデルは通常、他のコントロールによって所有されるため、プロキシはitemModel の所有権を取りません。xPosRole プロパティはxPosRole に、yPosRole プロパティはyPosRole に、zPosRole プロパティはzPosRole に設定されます。

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)

QItemModelScatterDataProxy をitemModel とオプションのparent で構築します。アイテム・モデルは通常、他のコントロールによって所有されるため、プロキシはitemModel の所有権を取りません。xPosRole プロパティはxPosRole に、yPosRole プロパティはyPosRole に、zPosRole プロパティはzPosRole に、rotationRole プロパティはrotationRole に設定されます。

[override virtual noexcept] QItemModelScatterDataProxy::~QItemModelScatterDataProxy()

QItemModelScatterDataProxy を破棄する。

void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)

xPosRole,yPosRole,zPosRole,rotationRole のマッピングを変更します。

void QItemModelScatterDataProxy::setItemModel(QAbstractItemModel *itemModel)

Q3DScatterWidgetItem のアイテム・モデルとしてitemModel を設定します。このモデルの所有権は取得しませんが、このモデルに接続して変更を待機します。

注: プロパティitemModel のセッター関数です。

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

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