QItemModelScatterDataProxy Class

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

Header: #include <QItemModelScatterDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Since: QtDataVisualization 1.0
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()
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 を使用すると、Q3DScatter のデータソースとしてQAbstractItemModel 派生モデルを使用できます。これは、QAbstractItemModel の役割をQ3DScatter ポイントの 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 Graphexample を参照してください。

Qt Data Visualization のデータ処理も参照してください

プロパティ Documentation

itemModel : QAbstractItemModel*

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

アクセス関数

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

通知シグナル

void itemModelChanged(const QAbstractItemModel *itemModel)

rotationRole : QString

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

モデルは、回転の値を、QQuaternion に直接変換可能なバリアント、または、"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 に設定されます。

[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)

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

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

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

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