QQuickItem Class

QQuickItemクラスは、Qt Quickで最も基本的なビジュアル・アイテムを提供します。詳細...

Header: #include <QQuickItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
In QML: Item
Inherits: QObject and QQmlParserStatus
Inherited By:

QQuickFramebufferObject, QQuickPaintedItem, and QQuickRhiItem

パブリックタイプ

union ItemChangeData
enum Flag { ItemClipsChildrenToShape, ItemAcceptsInputMethod, ItemIsFocusScope, ItemHasContents, ItemAcceptsDrops, …, ItemObservesViewport }
flags Flags
enum ItemChange { ItemChildAddedChange, ItemChildRemovedChange, ItemSceneChange, ItemVisibleHasChanged, ItemParentHasChanged, …, ItemEnabledHasChanged }
enum TransformOrigin { TopLeft, Top, TopRight, Left, Center, …, BottomRight }

プロパティ

パブリック関数

QQuickItem(QQuickItem *parent = nullptr)
virtual ~QQuickItem() override
bool acceptHoverEvents() const
bool acceptTouchEvents() const
Qt::MouseButtons acceptedMouseButtons() const
bool activeFocusOnTab() const
bool antialiasing() const
qreal baselineOffset() const
QBindable<qreal> bindableHeight()
QBindable<qreal> bindableWidth()
QBindable<qreal> bindableX()
QBindable<qreal> bindableY()
virtual QRectF boundingRect() const
QQuickItem *childAt(qreal x, qreal y) const
QList<QQuickItem *> childItems() const
QRectF childrenRect()
bool clip() const
virtual QRectF clipRect() const
QObject *containmentMask() const
virtual bool contains(const QPointF &point) const
QCursor cursor() const
(since 6.3) void dumpItemTree() const
(since 6.3) void ensurePolished()
bool filtersChildMouseEvents() const
QQuickItem::Flags flags() const
Qt::FocusPolicy focusPolicy() const
void forceActiveFocus()
void forceActiveFocus(Qt::FocusReason reason)
QSharedPointer<QQuickItemGrabResult> grabToImage(const QSize &targetSize = QSize())
bool hasActiveFocus() const
bool hasFocus() const
qreal height() const
qreal implicitHeight() const
qreal implicitWidth() const
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const
bool isAncestorOf(const QQuickItem *child) const
bool isEnabled() const
bool isFocusScope() const
virtual bool isTextureProvider() const
bool isVisible() const
bool keepMouseGrab() const
bool keepTouchGrab() const
QPointF mapFromGlobal(const QPointF &point) const
QPointF mapFromItem(const QQuickItem *item, const QPointF &point) const
QPointF mapFromScene(const QPointF &point) const
QRectF mapRectFromItem(const QQuickItem *item, const QRectF &rect) const
QRectF mapRectFromScene(const QRectF &rect) const
QRectF mapRectToItem(const QQuickItem *item, const QRectF &rect) const
QRectF mapRectToScene(const QRectF &rect) const
QPointF mapToGlobal(const QPointF &point) const
QPointF mapToItem(const QQuickItem *item, const QPointF &point) const
QPointF mapToScene(const QPointF &point) const
QQuickItem *nextItemInFocusChain(bool forward = true)
qreal opacity() const
QQuickItem *parentItem() const
void polish()
void resetAntialiasing()
void resetHeight()
void resetWidth()
qreal rotation() const
qreal scale() const
QQuickItem *scopedFocusItem() const
void setAcceptHoverEvents(bool enabled)
void setAcceptTouchEvents(bool enabled)
void setAcceptedMouseButtons(Qt::MouseButtons buttons)
void setActiveFocusOnTab(bool)
void setAntialiasing(bool)
void setBaselineOffset(qreal)
void setClip(bool)
void setContainmentMask(QObject *mask)
void setCursor(const QCursor &cursor)
void setEnabled(bool)
void setFiltersChildMouseEvents(bool filter)
void setFlag(QQuickItem::Flag flag, bool enabled = true)
void setFlags(QQuickItem::Flags flags)
void setFocus(bool)
void setFocus(bool focus, Qt::FocusReason reason)
void setFocusPolicy(Qt::FocusPolicy policy)
void setHeight(qreal)
void setImplicitHeight(qreal)
void setImplicitWidth(qreal)
void setKeepMouseGrab(bool keep)
void setKeepTouchGrab(bool keep)
void setOpacity(qreal)
void setParentItem(QQuickItem *parent)
void setRotation(qreal)
void setScale(qreal)
void setSize(const QSizeF &size)
void setSmooth(bool)
void setState(const QString &)
void setTransformOrigin(QQuickItem::TransformOrigin)
void setVisible(bool)
void setWidth(qreal)
void setX(qreal)
void setY(qreal)
void setZ(qreal)
QSizeF size() const
bool smooth() const
void stackAfter(const QQuickItem *sibling)
void stackBefore(const QQuickItem *sibling)
QString state() const
virtual QSGTextureProvider *textureProvider() const
QQuickItem::TransformOrigin transformOrigin() const
void unsetCursor()
QQuickItem *viewportItem() const
qreal width() const
QQuickWindow *window() const
qreal x() const
qreal y() const
qreal z() const

パブリックスロット

void update()

シグナル

void activeFocusChanged(bool)
void activeFocusOnTabChanged(bool)
void antialiasingChanged(bool)
void baselineOffsetChanged(qreal)
void childrenRectChanged(const QRectF &)
void clipChanged(bool)
void containmentMaskChanged()
void enabledChanged()
void focusChanged(bool)
void focusPolicyChanged(Qt::FocusPolicy)
void heightChanged()
void implicitHeightChanged()
void implicitWidthChanged()
void opacityChanged()
void parentChanged(QQuickItem *)
void rotationChanged()
void scaleChanged()
void smoothChanged(bool)
void stateChanged(const QString &)
void transformOriginChanged(QQuickItem::TransformOrigin)
void visibleChanged()
void widthChanged()
void windowChanged(QQuickWindow *window)
void xChanged()
void yChanged()
void zChanged()

保護された関数

virtual bool childMouseEventFilter(QQuickItem *item, QEvent *event)
virtual void dragEnterEvent(QDragEnterEvent *event)
virtual void dragLeaveEvent(QDragLeaveEvent *event)
virtual void dragMoveEvent(QDragMoveEvent *event)
virtual void dropEvent(QDropEvent *event)
virtual void focusInEvent(QFocusEvent *event)
virtual void focusOutEvent(QFocusEvent *event)
(since 6.0) virtual void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
bool heightValid() const
virtual void hoverEnterEvent(QHoverEvent *event)
virtual void hoverLeaveEvent(QHoverEvent *event)
virtual void hoverMoveEvent(QHoverEvent *event)
virtual void inputMethodEvent(QInputMethodEvent *event)
bool isComponentComplete() const
virtual void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
virtual void mouseReleaseEvent(QMouseEvent *event)
virtual void mouseUngrabEvent()
virtual void releaseResources()
virtual void touchEvent(QTouchEvent *event)
virtual void touchUngrabEvent()
void updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput)
virtual QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)
virtual void updatePolish()
virtual void wheelEvent(QWheelEvent *event)
bool widthValid() const

再実装された保護された関数

virtual void classBegin() override
virtual void componentComplete() override
virtual bool event(QEvent *ev) override

詳しい説明

Qt Quick のすべてのビジュアルアイテムは QQuickItem を継承しています。QQuickItem インスタンスはビジュアルな外観を持ちませんが、ビジュアルアイテムに共通するすべての属性、例えば x と y の位置、幅と高さ、アンカー、キー操作のサポートを定義します。

QQuickItemをサブクラス化することで、これらの機能を継承した独自のカスタムビジュアルアイテムを提供することができます。

カスタムシーングラフアイテム

すべてのビジュアルQMLアイテムは、シーングラフを使用してレンダリングされます。シーングラフのデフォルト実装は、OpenGL、Vulkan、Metal、Direct 3DなどのアクセラレーショングラフィックスAPIと密接に結びついた、低レベルで高性能なレンダリングスタックです。QQuickItem のサブクラスは、QQuickItem::ItemHasContents フラグを設定し、QQuickItem::updatePaintNode() 関数を再実装することで、シーングラフに独自のコンテンツを追加することができます。

警告 グラフィックス操作とシーングラフとのインタラクションは、主にupdatePaintNode ()呼び出しの間、レンダリングスレッドだけで行われることが重要です。QQuickItem::updatePaintNode ()関数の内部では、接頭辞が "QSG "であるクラスのみを使用することをお勧めします。

注意: QSG接頭辞を持つクラスはすべて、シーングラフのレンダリングスレッドでのみ使用する必要があります。詳しくはシーングラフとレンダリングを参照してください。

グラフィックスリソースの処理

シーングラフで使用されるグラフィックリソースのクリーンアップを処理する好ましい方法は、ノードの自動クリーンアップに依存することです。QQuickItem::updatePaintNode() から返されたQSGNode は、適切なスレッドで適切なタイミングで自動的に削除されます。QSGNode インスタンスのツリーは、デフォルトで設定されているQSGNode::OwnedByParent を使用して管理されます。そのため、カスタム・シーン・グラフ・アイテムの大部分では、余分な作業は必要ありません。

QQuickItem::textureProvider ()を実装したアイテムのように、ノードツリーの外部にグラフィックリソースを格納する実装では、QMLでのアイテムの使われ方に応じて、それを正しくクリーンアップするための注意が必要になります。対処すべき状況は以下の通りです:

  • シーングラフが無効化された場合。これは、プラットフォームやQQuickWindow の設定によって、QQuickWindow::hide() を使ってウィンドウが隠されたときや、ウィンドウが閉じられたときに起こる可能性があります。アイテム・クラスがinvalidateSceneGraph() という名前のslot を実装している場合、このスロットは GUI スレッドがブロックされている間にレンダリング・スレッドで呼び出されます。これは、QQuickWindow::sceneGraphInvalidated ()に接続することと同じである。OpenGLでレンダリングする場合、このスロットが呼び出されると、このアイテムのウィンドウのOpenGLコンテキストがバインドされます。唯一の例外は、ネイティブのOpenGLがQtの制御外で破棄された場合です(例えば、EGL_CONTEXT_LOST )。
  • アイテムがシーンから取り除かれます。アイテムがシーンから取り除かれた場合、例えば、そのアイテムの親がnull に設定されていたり、他のウィンドウのアイテムに設定されていたりする場合、QQuickItem::releaseResources() がGUIスレッドで呼び出されます。QQuickWindow::scheduleRenderJob()は、レンダリング リソースのクリーンアップをスケジュールするために使用する必要があります。
  • アイテムが削除された。アイテムのデストラクタが実行されると、そのアイテムが持っているグラフィック・リソースはすべて削除されなければならない。上記の2つの条件のどちらもすでに満たされていない場合、アイテムはウィンドウの一部となり、QQuickWindow::scheduleRenderJob ()を使用してそれらをクリーンアップさせることが可能です。実装がQQuickItem::releaseResources() の呼び出しを無視した場合、多くの場合、アイテムはQQuickWindow にアクセスできなくなり、クリーンアップをスケジューリングする手段がなくなります。

QQuickWindow::scheduleRenderJob()を使ってグラフィックスリソースのクリーンアップをスケジューリングする場合、QQuickWindow::BeforeSynchronizingStage またはQQuickWindow::AfterSynchronizingStage のどちらかを使用する必要があります。同期化ステージでは、QMLツリーの変更の結果としてシーングラフが変更されます。それ以外のタイミングでクリーンアップを行うと、シーングラフの他の部分が更新されていないため、新しく削除されたオブジェクトを参照してしまう可能性があります。

注意: QObject::deleteLater() を使用してグラフィックスリソースをクリーンアップすることは強く推奨されません。これはdelete 操作を任意の時間に実行することになり、削除が行われるときに OpenGL コンテキストがバインドされているかどうかが不明だからです。

カスタムQPainterアイテム

QQuickItemは、QQuickPaintedItem というサブクラスを提供しており、QPainter を使用してコンテンツをレンダリングすることができます。

警告: QQuickPaintedItem を使用すると、ソフトウェア・ラスタライズを使用してコンテンツをレンダリングするために間接的な2Dサーフェスを使用するため、レンダリングは2段階の操作になります。最初にサーフェスをラスタライズし、次にサーフェスを描画します。シーングラフAPIを直接使用する方が、常に大幅に高速です。

ビヘイビア・アニメーション

もしあなたのItemがBehavior 型を使用して、プロパティの変更に対するアニメーションを定義している場合、C++からこれらのプロパティを変更する必要があるときは、常にQObject::setProperty()、QQmlProperty()、またはQMetaProperty::write()のいずれかを使用する必要があります。こうすることで、QMLエンジンは確実にプロパティの変更を知ることができます。そうしないと、エンジンは要求されたアニメーションを実行することができません。これらの関数は若干のパフォーマンス・ペナルティがあることに注意してください。詳しくはC++ から QML オブジェクト型のメンバにアクセスする を参照してください。

QQuickWindow およびQQuickPaintedItemも参照して ください。

メンバ型ドキュメント

enum QQuickItem::Flag
flags QQuickItem::Flags

この enum 型は様々なアイテムのプロパティを指定するために使われます。

定数説明
QQuickItem::ItemClipsChildrenToShape0x01このアイテムが、その子アイテムを視覚的にクリップして、このアイテムの境界内にのみレンダリングされるようにすることを示します。
QQuickItem::ItemAcceptsInputMethod0x02項目がテキスト入力メソッドをサポートしていることを示す。
QQuickItem::ItemIsFocusScope0x04アイテムがフォーカススコープであることを示す。詳細はQt Quick のキーボード・フォーカスを参照してください。
QQuickItem::ItemHasContents0x08アイテムがビジュアルコンテンツを持ち、シーングラフによってレンダリングされるべきであることを示す。
QQuickItem::ItemAcceptsDrops0x10アイテムがドラッグ&ドロップイベントを受け付けることを示す。
QQuickItem::ItemIsViewport0x20アイテムが、その子のためのビューポートを定義することを示す。
QQuickItem::ItemObservesViewport0x40ItemIsViewportフラグが設定されている祖先がある場合、アイテムがビューポート境界を知りたいことを示す。

Flags 型はQFlags<Flag> の typedef です。これは、Flag値のORの組み合わせを格納します。

setFlag(),setFlags(),flags()も参照

enum QQuickItem::ItemChange

QQuickItem::itemChange() と併用することで、ある種の変更をアイテムに通知することができます。

定数説明
QQuickItem::ItemChildAddedChange0子が追加されました。ItemChangeData::item は追加された子を含みます。
QQuickItem::ItemChildRemovedChange1子が削除されました。ItemChangeData::item は削除された子を含みます。
QQuickItem::ItemSceneChange2アイテムがシーンに追加された、またはシーンから削除された。シーンをレンダリングするQQuickWindow は、ItemChangeData::window を使用して指定する。アイテムがシーンから削除されると、window パラメータは NULL になる。
QQuickItem::ItemVisibleHasChanged3アイテムの可視性が変更された。ItemChangeData::boolValue に新しい可視性が含まれる。
QQuickItem::ItemParentHasChanged4アイテムの親が変更されました。ItemChangeData::item に新しい親が含まれています。
QQuickItem::ItemOpacityHasChanged5アイテムの不透明度が変更されました。ItemChangeData::realValue に新しい不透明度が表示されます。
QQuickItem::ItemActiveFocusHasChanged6項目のフォーカスが変更されました。ItemChangeData::boolValue に項目がフォーカスを持つかどうかが格納されます。
QQuickItem::ItemRotationHasChanged7アイテムの回転が変更されました。ItemChangeData::realValue に新しい回転が格納されます。
QQuickItem::ItemDevicePixelRatioHasChanged9アイテムが表示されている画面のデバイスピクセル比率が変更されました。ItemChangedData::realValue には、新しいデバイスピクセル比率が格納されます。
QQuickItem::ItemAntialiasingHasChanged8アンチエイリアスが変更されました。現在の (boolean) 値はQQuickItem::antialiasing にあります。
QQuickItem::ItemEnabledHasChanged10アイテムの有効状態が変更されました。ItemChangeData::boolValue に新しい有効状態が含まれています。(Qt 5.10 以降)

enum QQuickItem::TransformOrigin

scale のような単純な変換が適用される点を制御します。

定数説明
QQuickItem::TopLeft0アイテムの左上隅。
QQuickItem::Top1アイテムの上部の中心点。
QQuickItem::TopRight2項目の右上隅
QQuickItem::Left3縦中央の左端
QQuickItem::Center4項目の中央
QQuickItem::Right5縦中間の右端
QQuickItem::BottomLeft6項目の左下隅
QQuickItem::Bottom7項目の底の中心点。
QQuickItem::BottomRight8項目の右下隅。

transformOrigin() およびsetTransformOrigin()も参照

プロパティ文書

implicitHeight : qreal

implicitWidth : qreal

Itemの好ましい幅または高さを定義します。

width またはheight が指定されていない場合、アイテムの有効サイズはimplicitWidth またはimplicitHeight によって決定される。

しかし、アイテムがレイアウトの子である場合、レイアウトはその暗黙のサイズを使用してアイテムの好ましいサイズを決定する。こ の よ う な場合、 明示的なwidth またはheight は無視 さ れます。

ほとんどのアイテムのデフォルトの暗黙的サイズは0x0ですが、ImageText のように、オーバーライドできない暗黙的サイズを持つアイテムもあります。

暗黙的なサ イ ズ を設定す る こ と は、 内容に よ っ て優先 さ れ る サ イ ズ を持つ コ ン ポーネ ン ト を定義す る 場合な ど に有用です:

// Label.qml
import QtQuick 2.0

Item {
    property alias icon: image.source
    property alias label: text.text
    implicitWidth: text.implicitWidth + image.implicitWidth
    implicitHeight: Math.max(text.implicitHeight, image.implicitHeight)
    Image { id: image }
    Text {
        id: text
        wrapMode: Text.Wrap
        anchors.left: image.right; anchors.right: parent.right
        anchors.verticalCenter: parent.verticalCenter
    }
}

注: Text またはTextEditimplicitWidth を使い、幅を明示的に設定すると、テキストが2回レイアウトされなければならないため、パフォーマンス上のペナルティが発生します。

[read-only] activeFocus : const bool

この読み取り専用プロパティは、アイテムにアクティブフォーカスがあるかどうかを示します。

activeFocusがtrueの場合、このアイテムが現在キーボード入力を受けているか、または現在キーボード入力を受けているアイテムのFocusScope 先祖である。

通常、activeFocus は項目とそれを囲むFocusScope オブジェクトにfocus を設定することで得られる。次の例では、inputfocusScope オブジェクトはアクティブフォーカスを持ちますが、ルート矩形オブジェクトは持ちません。

import QtQuick 2.0

Rectangle {
    width: 100; height: 100

    FocusScope {
        focus: true

        TextInput {
            id: input
            focus: true
        }
    }
}

アクセス関数

bool hasActiveFocus() const

Notifier シグナル:

void activeFocusChanged(bool)

Qt Quick のfocusKeyboard Focusも参照してください

activeFocusOnTab : bool

このプロパティは、アイテムがタブフォーカスチェーンに入りたいかどうかを保持します。デフォルトでは、false に設定されています。

アクセス関数です:

bool activeFocusOnTab() const
void setActiveFocusOnTab(bool)

Notifier シグナル:

void activeFocusOnTabChanged(bool)

antialiasing : bool

項目がアンチエイリアス処理されているかどうかを指定します。

アイテムがアンチエイリアスを使用するかどうかを決定するためにビジュアル要素によって使用されます。場合によっては、アンチエイリアスを使用するアイテムはより多くのメモリを必要とし、レンダリングが遅くなる可能性があります(詳細はAntialiasingを参照)。

デフォルトはfalseですが、派生要素によってオーバーライドされる場合があります。

アクセス関数:

bool antialiasing() const
void setAntialiasing(bool)
void resetAntialiasing()

通知シグナル:

void antialiasingChanged(bool)

baselineOffset : qreal

アイテムのベースラインの位置をローカル座標で指定します。

Text アイテムのベースラインは、テキストが置かれる仮想線です。テキストを含むコントロールは通常、そのベースラインをテキストのベースラインに設定します。

テキスト以外のアイテムの場合、デフォルトのベースラインオフセット0が使われます。

アクセス関数:

qreal baselineOffset() const
void setBaselineOffset(qreal)

通知シグナル:

void baselineOffsetChanged(qreal)

[read-only] childrenRect : const QRectF

このプロパティは、アイテムの子の集合的な位置とサイズを保持する。

このプロパティは、アイテムのサイズを正しく設定するために、アイテムの子の集合的なジオメトリにアクセスする必要がある場合に便利です。

返されるジオメトリは、アイテムにローカルです。例えば

Item {
    x: 50
    y: 100

    // prints: QRectF(-10, -20, 30, 40)
    Component.onCompleted: print(childrenRect)

    Item {
        x: -10
        y: -20
        width: 30
        height: 40
    }
}

アクセス関数

QRectF childrenRect()

通知シグナル

void childrenRectChanged(const QRectF &)

clip : bool

このプロパティは、クリッピングが有効かどうかを保持します。デフォルトのクリップ値はfalse です。

クリッピングが有効な場合、アイテムはそれ自身のペイントとその子のペイントをその境界矩形にクリッピングします。アイテムのペイント操作中にクリッピングを設定した場合は、シーンの残りの部分をクリッピングしないように、忘れずに再設定してください。

注意: クリッピングはレンダリングのパフォーマンスに影響することがあります。詳しくはクリッピングを参照してください。

Note: QML の都合上、clip をtrue に設定すると、ItemIsViewport フラグも設定されます。これは最適化として機能することがあります。ItemObservesViewport フラグを持つ子アイテムは、ビューポートの外にあるシーングラフノードの作成を見送ることができます。しかし、ItemIsViewport フラグは単独で設定することもできます。

アクセス関数:

bool clip() const
void setClip(bool)

通知シグナル:

void clipChanged(bool)

containmentMask : QObject*

このプロパティは、contains() メソッドで使用されるオプションのマスクを保持する。これは主に、各QPointerEvent のヒット・テストに使用される。

デフォルトでは、contains() は、Item の bounding box 内の任意の点に対してtrue を返す。しかし、QQuickItem 、または以下の形式の関数を実装するQObject は、マスクとして使用できます。

Q_INVOKABLE bool contains(const QPointF &point) const;

をマスクとして使用し、ヒット・テストをそのオブジェクトに委ねることができます。

注: contains ()は、イベント配信中に頻繁に呼び出される。そのオブジェクトのcontains() メソッドが効率的でない場合、containmentMask() は パフォーマンスの問題を引き起こす可能性があります。カスタムのQQuickItem サブクラスを実装する場合は、contains() をオーバーライドしてください。

アクセス関数:

QObject *containmentMask() const
void setContainmentMask(QObject *mask)

通知シグナル:

void containmentMaskChanged()

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

enabled : bool

このプロパティは、アイテムがマウス・イベントとキーボード・イベントを受信するかどうかを保持します。デフォルトでは true です。

このプロパティを設定すると、子アイテムのenabled の値に直接影響します。false に設定すると、すべての子アイテムのenabled 値もfalse になります。true に設定すると、明示的にfalse に設定されていない限り、子アイテムのenabled の値はtrue に戻されます。

このプロパティをfalse に設定すると、自動的にactiveFocusfalse に設定され、このアイテムはキーボード イベントを受け取らなくなります。

注意: ホバー・イベントは、setAcceptHoverEvents() によって個別に有効にされる。したがって、このプロパティがfalse であっても、無効化されたアイテムはホバー・イベントを受信し続けることができる。これにより、インタラクティブなアイテムが無効になっていても、情報フィードバック(ToolTip など)を表示することができる。アイテムの子として追加されたHoverHandlers についても同様である。ただし、HoverHandler は、disabled に明示的に指定することも、アイテムのenabled 状態にバインドすることもできる。

アクセス関数

bool isEnabled() const
void setEnabled(bool)

Notifier シグナル:

void enabledChanged()

visibleも参照のこと

focus : bool

このプロパティは、このアイテムがFocusScope を囲む中でフォーカスを持つかどうかを保持する。真ならば、FocusScope がアクティブ・フォーカスを獲得したとき、このアイテムはアクティブ・フォーカスを獲得する。

次の例では、scope がアクティブ・フォーカスを得たとき、input がアクティブ・フォーカスを得る:

import QtQuick 2.0

Rectangle {
    width: 100; height: 100

    FocusScope {
        id: scope

        TextInput {
            id: input
            focus: true
        }
    }
}

このプロパティの目的上、シーン全体がフォーカススコープのように動作すると仮定されます。現実的なレベルでは、以下のQMLは起動時にinput にアクティブフォーカスを与えることを意味します。

Rectangle {
    width: 100; height: 100

    TextInput {
          id: input
          focus: true
    }
}

アクセス関数

bool hasFocus() const
void setFocus(bool)
void setFocus(bool focus, Qt::FocusReason reason)

Notifierシグナル

void focusChanged(bool)

Qt Quick のactiveFocusKeyboard Focusも参照してください

[since 6.7] focusPolicy : Qt::FocusPolicy

このプロパティは、アイテムがフォーカスを受け入れる方法を決定します。

このプロパティはQt 6.7で導入されました。

アクセス関数です:

Qt::FocusPolicy focusPolicy() const
void setFocusPolicy(Qt::FocusPolicy policy)

Notifier シグナル:

void focusPolicyChanged(Qt::FocusPolicy)

[bindable] height : qreal

注: このプロパティは、QProperty バインディングをサポートしています。

このプロパティは、アイテムの高さを保持します。

opacity : qreal

このプロパティは、アイテムの不透明度を保持する。不透明度は、0.0(完全に透明)から 1.0(完全に不透明)の間の数値で指定する。デフォルト値は1.0である。

このプロパティが設定されている場合、指定された不透明度は子アイテムにも個別に適用されます。これは、状況によっては意図しない効果をもたらすことがあります。例えば、下の2番目の長方形のセットでは、赤の長方形は0.5の不透明度を指定しており、これは、子が不透明度を指定していないにもかかわらず、その青の子の長方形の不透明度に影響を与えます。

0 から 1 の範囲外の値はクランプされます。

Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

Item {
    Rectangle {
        opacity: 0.5
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

アイテムの不透明度を変更しても、そのアイテムがユーザー入力イベントを受け取るかどうかには影響しません。(対照的に、visible プロパティをfalse に設定するとマウス・イベントが停止し、enabled プロパティをfalse に設定するとマウス・イベントとキーボード・イベントが停止し、さらにアイテムからアクティブ・フォーカスが取り除かれる)

アクセス関数:

qreal opacity() const
void setOpacity(qreal)

Notifier シグナル:

void opacityChanged()

visibleも参照のこと

parent : QQuickItem*

このプロパティはアイテムのビジュアルペアレントを保持する。

注意: ビジュアルペアレントの概念は、QObject ペアレントとは異なる。アイテムのビジュアルペアレントは、必ずしもオブジェクトペアレントと同じとは限りません。詳細は、「概念 - Qt Quick のビジュアルペアレント」を参照してください。

注意: このプロパティの通知シグナルは、ビジュアルペアレントが破棄される際に発行されます。C++ シグナルハンドラは、ビジュアルペアレント階層内のアイテムがまだ完全に構築されていると仮定することはできません。qobject_cast を使用して、親階層のアイテムが期待される型として安全に使用できることを確認してください。

アクセス関数:

QQuickItem *parentItem() const
void setParentItem(QQuickItem *parent)

Notifier シグナル:

void parentChanged(QQuickItem *)

rotation : qreal

このプロパティは、アイテムの回転をtransformOrigin を中心に時計回りの度数で保持する。

デフォルト値は 0 度(つまり回転なし)。

Rectangle {
    color: "blue"
    width: 100; height: 100
    Rectangle {
        color: "red"
        x: 25; y: 25; width: 50; height: 50
        rotation: 30
    }
}

アクセス関数:

qreal rotation() const
void setRotation(qreal)

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

void rotationChanged()

Transform およびRotationも参照

scale : qreal

このプロパティは、このアイテムのスケールファクターを保持する。

スケールが 1.0 より小さい場合、アイテムは小さいサイズでレンダリングされ、1.0 より大きい場合、アイテムは大きいサイズでレンダリングされる。負のスケールを指定すると、アイテムはレンダリング時にミラーリングされます。

デフォルト値は 1.0 です。

スケーリングはtransformOrigin から適用されます。

import QtQuick 2.0

Rectangle {
    color: "blue"
    width: 100; height: 100

    Rectangle {
        color: "green"
        width: 25; height: 25
    }

    Rectangle {
        color: "red"
        x: 25; y: 25; width: 50; height: 50
        scale: 1.4
    }
}

アクセス関数:

qreal scale() const
void setScale(qreal)

通知シグナル:

void scaleChanged()

Transform およびScaleも参照してください

smooth : bool

アイテムを平滑化するかどうかを指定します。

主に画像ベースのアイテムで使用され、アイテムがスムーズサンプリングを使用するかどうかを決定します。スムースサンプリングは線形補間を使用し、非スムースサンプリングは最近傍を使用します。

Qt Quick 2.0 では、このプロパティがパフォーマンスに与える影響は最小限です。

デフォルトでは、このプロパティはtrue に設定されています。

アクセス関数

bool smooth() const
void setSmooth(bool)

Notifier シグナル:

void smoothChanged(bool)

state : QString

このプロパティは、アイテムの現在の状態の名前を保持します。

アイテムがデフォルトの状態、つまり明示的な状態が設定されていない場合、このプロパティは空の文字列を保持する。同様に、このプロパティに空文字列を設定することで、アイテムをデフォルト状態に戻すことができる。

アクセス関数

QString state() const
void setState(const QString &)

Notifier シグナル:

void stateChanged(const QString &)

Qt Quick Statesも参照してください

transformOrigin : TransformOrigin

このプロパティは、スケールと回転を変換する原点を保持します。

以下の画像に示すように、9 つの変換原点が利用可能です。デフォルトの変換原点はItem.Center です。

アクセス関数です:

QQuickItem::TransformOrigin transformOrigin() const
void setTransformOrigin(QQuickItem::TransformOrigin)

通知シグナル:

void transformOriginChanged(QQuickItem::TransformOrigin)

visible : bool

このプロパティは、アイテムが表示されているかどうかを保持します。デフォルトでは true です。

このプロパティを設定すると、子アイテムのvisible 値に直接影響します。false に設定すると、すべての子アイテムのvisible 値もfalse になります。true に設定すると、明示的にfalse に設定されていない限り、子アイテムのvisible の値はtrue に戻されます。

(こ の よ う な フ ロ ーオ ン動作があ る ため、 プ ロ パテ ィ バ イ ンデ ィ ン グが明示的なプ ロ パテ ィ 変更にのみ反応す る べ き 場合には、visible プ ロ パテ ィ を使用す る と 意図 し た効果が得 ら れない こ と があ り ます。こ の よ う な場合には、 かわ り にopacity プロパテ ィ を用い る こ と を推奨 し ます)。

このプロパティがfalse に設定されると、アイテムはマウスイベントを受け取らなくなりますが、キーイベントは受け取り続け、キーボードfocus が設定されていれば、それを保持します。(対照的に、enabled プロパティをfalse に設定すると、マウスとキーボードの両方のイベントが停止し、アイテムのフォーカスも解除される)。

注: このプロパティの値は、このプロパティまたは親のvisible プロパティへの変更によってのみ影響を受けます。例えば、このアイテムが画面外に移動した場合や、opacity が 0 に変化した場合は変化しない。ただし、歴史的な理由から、アイテムがまだシーンに追加されていなくても、アイテムの構築後にこのプロパティは真になる。シーンに追加されていないアイテムのこのプロパティを変更したり読み取ったりすると、期待した結果が得られない場合があります。

注意: このプロパティの通知シグナルは、ビジュアルペアレントの破棄時に発行されます。C++ シグナル・ハンドラは、ビジュアル親階層内のアイテムがまだ完全に構築されていると仮定することはできません。qobject_cast を使用して、親階層のアイテムが期待される型として安全に使用できることを確認してください。

アクセス関数:

bool isVisible() const
void setVisible(bool)

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

void visibleChanged()

opacity およびenabledも参照

[bindable] width : qreal

注: このプロパティはQProperty バインディングをサポートしています。

このプロパティは、このアイテムの幅を保持する。

[bindable] x : qreal

注: このプロパティは、QProperty バインディングをサポートしています。

このプロパティは、このアイテムの親からの相対的な x 位置を指定します。

[bindable] y : qreal

注意: このプロパティはQProperty のバインディングに対応しています。

アイテムの親からの相対的な y 位置を定義します。

z : qreal

兄弟アイテムの積み重ね順序を設定します。デフォルトでは重ね順は 0 です。

積み重ね順が高いアイテムは、積み重ね順が低い兄弟の上に描画されます。同じスタッキング値を持つアイテムは、表示される順番が下から上に描画されます。負のスタッキング値を持つアイテムは、親のコンテンツの下に描画されます。

次の例は、積み重ね順序のさまざまな効果を示しています。

同じz - より後の子がより前の子の上に:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

より高いz が上:
Item {
    Rectangle {
        z: 1
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

同じz - 親の上の子:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

z
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            z: -1
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

アクセス機能:

qreal z() const
void setZ(qreal)

通知シグナル

void zChanged()

メンバ関数 ドキュメント

[explicit] QQuickItem::QQuickItem(QQuickItem *parent = nullptr)

与えられたparent で QQuickItem を構築します。

parentvisual parentQObject の両方の親として使用されます。

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

QQuickItem を破棄します。

bool QQuickItem::acceptHoverEvents() const

このアイテムがホバーイベントを受け付けるかどうかを返します。

デフォルト値は false です。

false の場合、このアイテムはhoverEnterEvent(),hoverMoveEvent(),hoverLeaveEvent() 関数でホバー・イベントを受け取りません。

setAcceptHoverEvents()も参照

bool QQuickItem::acceptTouchEvents() const

このアイテムがタッチイベントを受け付けるかどうかを返します。

デフォルト値はfalse

これがfalse の場合、アイテムはtouchEvent() 関数を通してタッチイベントを受け取らない。

setAcceptTouchEvents()も参照

Qt::MouseButtons QQuickItem::acceptedMouseButtons() const

このアイテムが受け付けるマウスボタンを返します。

デフォルト値はQt::NoButton である。

アイテムが特定のマウスイベントのマウスボタンを受け付けない場合、マウスイベントはそのアイテムに配信されず、代わりにアイテム階層の次のアイテムに配信されます。

setAcceptedMouseButtons() およびacceptTouchEvents()も参照して ください。

[virtual] QRectF QQuickItem::boundingRect() const

0, 0 からwidth() とheight() までの矩形。

[invokable] QQuickItem *QQuickItem::childAt(qreal x, qreal y) const

この項目の座標系内の点 (x,y) で見つか っ た、 最初に見え る 子項目を返 し ます。

そのよ う な項目がない と きはnullptr を返す。

注意: この関数はメタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照。

QList<QQuickItem *> QQuickItem::childItems() const

この項目の子を返す。

[virtual protected] bool QQuickItem::childMouseEventFilter(QQuickItem *item, QEvent *event)

このメソッドを再実装して、このアイテムの子が受け取るポインタイベントをフィルタリングする。

このメソッドはfiltersChildMouseEvents() がtrue の場合のみ呼び出される。

指定されたevent が指定された子item に渡されるべきでない場合はtrue を返し、そうでない場合はfalse を返します。true を返す場合は、accept またはignore event も返す必要がある。ただし、event は、常に親チェーン上のすべての子MouseEventFilterに送信されます。

注意: 名前にもかかわらず、この関数は、すべての子(通常、マウス、タッチ、およびタブレット・イベント)への配信中に、すべてのQPointerEvent インスタンスをフィルタリングします。サブクラスでこの関数をオーバーライドする場合は、QPointerEvent にあるアクセサのみを使用して、一般的なイベント処理コードを記述することをお勧めします。また、event->type() および/またはevent->device()->type() をオンにすることで、異なるイベントタイプを異なる方法で処理することもできます。

注: フィルタリングは、ジェスチャーがあいまいな場合(たとえば、押したときに、ユーザーがタップするかドラッグするかわからない場合)に責任を分担するための1つの方法にすぎません。もう1つの方法は、QEventPoint の進行状況を非排他的に監視するために、押下時にQPointerEvent::addPassiveGrabber() を呼び出すことです。どちらの場合でも、監視しているアイテムまたはポインタハンドラは、ジェスチャが期待しているパターンに適合していることが明らかになったときに、排他的なグラブを後で奪うことができます。

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

[override virtual protected] void QQuickItem::classBegin()

再インプリメント:QQmlParserStatus::classBegin().

派生クラスは、classBegin で実行する独自のアクションを追加する前に、基底クラスのメソッドを呼び出す必要があります。

[virtual] QRectF QQuickItem::clipRect() const

ビューポートが存在し、ItemObservesViewport フラグが設定されている場合、viewportItem() で現在表示されている、このアイテム内の矩形領域を返します。そうでない場合、このアイテムの独自の座標系での領域、すなわち、0, 0 からwidth() およびheight() までの矩形を返します。これは、cliptrue の場合に表示される領域である。また、シーングラフに追加されるグラフィックを制限するために、updatePaintNode() で使用することもできる。

例えば、大きな図面や大きなテキスト文書は、アプリケーションのウィンドウの一部だけを占めるFlickableに表示されるかもしれません。その場合、Flickableはビューポートアイテムであり、カスタムコンテンツレンダリングアイテムは、現在表示されている領域の外にあるシーングラフノードを省略することを選択するかもしれません。ItemObservesViewport フラグが設定されている場合、この領域は、ユーザーがFlickable内のコンテンツをスクロールするたびに変更されます。

ネストされたビューポートアイテムの場合、clipRect() は、このアイテムの座標系にマップされた、ItemIsViewport フラグが設定されているすべての祖先のboundingRectの交点です。

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

[override virtual protected] void QQuickItem::componentComplete()

再実装:QQmlParserStatus::componentComplete().

派生クラスは、componentComplete で実行する独自のアクションを追加する前に、ベースクラスのメソッドを呼び出す必要があります。

[virtual invokable] bool QQuickItem::contains(const QPointF &point) const

このアイテムがローカル座標のpoint を含んでいる場合はtrue を返し、そうでない場合はfalse を返します。

この関数は、カスタム形状のアイテムの点の衝突を処理するためにオーバーライドできます。デフォルトの実装では、点がcontainmentMask() に設定されている場合はその内側にあるかどうか、そうでない場合はバウンディングボックスの内側にあるかどうかをチェックします。

注意 : このメソッドは、イベント配信中の各QEventPoint のヒットテストに使用されるため、実装はできるだけ軽量に保つ必要があります。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QCursor QQuickItem::cursor() const

このアイテムのカーソル形状を返します。

オーバーライドカーソルが設定されていない限り、マウスカーソルはこのアイテムの上にあるとき、この形状になります。便利な形状についてはlist of predefined cursor objects を参照してください。

カーソル形状が設定されていない場合、Qt::ArrowCursor の形状のカーソルを返しますが、重複するアイテムに有効なカーソルがある場合は、別のカーソル形状が表示されることがあります。

setCursor() とunsetCursor()も参照してください

[virtual protected] void QQuickItem::dragEnterEvent(QDragEnterEvent *event)

このイベントハンドラは、アイテムのドラッグ・エンター・イベントを受け取るためにサブクラスで再実装することができます。イベント情報はevent パラメータによって提供されます。

ドラッグ&ドロップイベントは、このアイテムにItemAcceptsDrops フラグが設定されている場合にのみ提供されます。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合は、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

Drag およびDrag and Dropも参照して ください。

[virtual protected] void QQuickItem::dragLeaveEvent(QDragLeaveEvent *event)

このイベントハンドラをサブクラスで再実装すると、アイテムのドラッグ・リーブ・イベントを受け取ることができます。イベント情報はevent パラメータによって提供されます。

ドラッグ&ドロップイベントは、このアイテムにItemAcceptsDrops フラグが設定されている場合にのみ提供されます。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合は、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

Drag およびDrag and Dropも参照して ください。

[virtual protected] void QQuickItem::dragMoveEvent(QDragMoveEvent *event)

このイベントハンドラをサブクラスで再実装すると、アイテムのドラッグ移動イベントを受け取ることができます。イベント情報はevent パラメータで提供されます。

ドラッグ&ドロップイベントは、このアイテムにItemAcceptsDrops フラグが設定されている場合にのみ提供されます。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合は、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

Drag およびDrag and Dropも参照して ください。

[virtual protected] void QQuickItem::dropEvent(QDropEvent *event)

このイベントハンドラは、アイテムのドロップイベントを受け取るためにサブクラスで再実装することができます。イベント情報はevent パラメータによって提供されます。

ドラッグ&ドロップイベントは、このアイテムにItemAcceptsDrops フラグが設定されている場合のみ提供されます。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合は、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

Drag およびDrag and Dropも参照して ください。

[invokable, since 6.3] void QQuickItem::dumpItemTree() const

このアイテムから始まるItemのビジュアルツリーの詳細を再帰的にダンプします。

注: QObject::dumpObjectTree() も同様のツリーをダンプします。しかし、「コンセプト - Qt Quick のビジュアルペアレント」で説明したように、アイテムのQObject::parent() は、そのQQuickItem::parentItem() と異なることがあります。両方のツリーをダンプして違いを確認することができます。

注意: 正確な出力形式は、Qt の将来のバージョンで変更される可能性があります。

Note: この関数は、メタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

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

デバッグテクニックと GammaRay の Qt Quick Inspectorも参照してください

[invokable, since 6.3] void QQuickItem::ensurePolished()

updatePolish() を呼び出します。

これは、レイアウト(またはポジショナー)のように、implicitWidthimplicitHeight の計算を PolishEvent を受け取るまで遅延させる場合に便利です。

通常、例えば子アイテムが Layout に追加または削除された場合、暗黙的なサイズは直ちに計算されません(これは最適化です)。場合によっては、子アイテムが追加された直後にレイアウトの暗黙的なサイズを問い合わせることが望ましいこともあります。そのような場合は、暗黙のサイズを問い合わせる直前にこの関数を使用してください。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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

updatePolish() およびpolish()も参照してください

[override virtual protected] bool QQuickItem::event(QEvent *ev)

再インプリメントです:QObject::event(QEvent *e)。

bool QQuickItem::filtersChildMouseEvents() const

このアイテムの子アイテムに意図されたポインタイベントが、このアイテムを通してフィルタリングされるべきかどうかを返します。

このアイテムと子アイテムの両方がacceptTouchEvents()true を持つ場合、タッチインタラクションが発生すると、このアイテムはタッチイベントをフィルタリングします。しかし、このアイテムと子アイテムのどちらかがタッチイベントを処理できない場合、childMouseEventFilter() が合成されたマウスイベントと共に呼び出される。

setFiltersChildMouseEvents() およびchildMouseEventFilter()も参照

QQuickItem::Flags QQuickItem::flags() const

このアイテムのアイテムフラグを返します。

setFlags() およびsetFlag() も参照

[virtual protected] void QQuickItem::focusInEvent(QFocusEvent *event)

このイベントハンドラをサブクラスで再実装すると、アイテムのフォーカスインイベントを受け取ることができます。イベント情報はevent パラメータで提供されます。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

この関数を再実装する場合は、ベース・クラスの実装を呼び出す必要があります。

[virtual protected] void QQuickItem::focusOutEvent(QFocusEvent *event)

このイベントハンドラをサブクラスで再実装することで、アイテムのフォーカスアウトイベントを受け取ることができます。イベント情報はevent パラメータで指定します。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

[invokable] void QQuickItem::forceActiveFocus()

アイテムにアクティブ・フォーカスを強制的に設定します。

このメソッドは、アイテムにフォーカスを設定し、オブジェクト階層内のすべての祖先FocusScope オブジェクトにもfocus が与えられるようにします。

フォーカス変更の理由はQt::OtherFocusReason になります。オーバーロードされたメソッドを使用してフォーカスの理由を指定することで、 フォーカス変更のより良いハンドリングが可能になります。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

activeFocusも参照して ください。

[invokable] void QQuickItem::forceActiveFocus(Qt::FocusReason reason)

これはオーバーロードされた関数です。

与えられたreason を持つアイテムにアクティブフォーカスを強制します。

このメソッドはアイテムにフォーカスを設定し、オブジェクト階層内のすべての祖先FocusScope オブジェクトにもfocus が与えられるようにします。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

activeFocus およびQt::FocusReasonも参照して ください。

[virtual protected, since 6.0] void QQuickItem::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)

この関数は、このアイテムのジオメトリをoldGeometry からnewGeometry に変更する際に呼び出されます。 2つのジオメトリが同じであれば、この関数は何もしません。

派生クラスは、その実装内でベースクラスのメソッドを呼び出す必要があります。

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

QSharedPointer<QQuickItemGrabResult> QQuickItem::grabToImage(const QSize &targetSize = QSize())

アイテムをメモリ内の画像に取り込みます。

取り込みは非同期に行われ、取り込みが完了するとシグナルQQuickItemGrabResult::ready() が発せられます。

targetSize を使ってターゲット画像のサイズを指定します。デフォルトでは、結果はitemと同じサイズになります。

グラブを開始できなかった場合、この関数はnull を返します。

注意: この関数は、アイテムを画面外のサーフェスにレンダリングし、そのサーフェスを GPU のメモリから CPU のメモリにコピーします。ライブ」プレビューには、layers またはShaderEffectSource を使用してください。

QQuickWindow::grabWindow()も参照してください

[protected] bool QQuickItem::heightValid() const

height プロパティが明示的に設定されているかどうかを返します。

[virtual protected] void QQuickItem::hoverEnterEvent(QHoverEvent *event)

このイベントハンドラは、アイテムのホバー入力イベントを受け取るためにサブクラスで再実装することができます。イベント情報は、event パラメータによって提供されます。

ホバー・イベントは、acceptHoverEvents() が true の場合のみ提供されます。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合は、イベントを明示的に受け付ける必要はありません。イベントを受け付けない場合は、event->ignore() を呼び出します。

[virtual protected] void QQuickItem::hoverLeaveEvent(QHoverEvent *event)

このイベントハンドラをサブクラスで再実装することで、アイテムの hover-leave イベントを受け取ることができます。イベント情報はevent パラメータによって提供されます。

ホバー・イベントは、acceptHoverEvents() が true の場合のみ提供されます。

イベントはデフォルトで受理されるので、この関数を再実装する場合、イベントを明示的に受理する必要はありません。イベントを受け付けない場合は、event->ignore() を呼び出します。

[virtual protected] void QQuickItem::hoverMoveEvent(QHoverEvent *event)

このイベントハンドラをサブクラスで再実装すると、アイテムのホバー移動イベントを受け取ることができます。イベント情報はevent パラメータによって提供されます。

ホバー・イベントは、acceptHoverEvents() が true の場合のみ提供されます。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合は、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

qreal QQuickItem::implicitWidth() const

戻り値:内容を決定する他のプロパティによって暗示される項目の幅。

備考: プロパティ implicitWidth のゲッター関数。

setImplicitWidth()も参照

[virtual protected] void QQuickItem::inputMethodEvent(QInputMethodEvent *event)

このイベントハンドラをサブクラスで再実装して、アイテムの入力メソッドイベントを受け取ることができます。イベント情報は、event パラメータによって提供されます。

イベントはデフォルトで受理されるので、この関数を再実装する場合、イベントを明示的に受理する必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

[virtual] QVariant QQuickItem::inputMethodQuery(Qt::InputMethodQuery query) const

このメソッドは入力アイテムにのみ関係します。

このアイテムが入力アイテムの場合、このメソッドを再実装して、与えられたquery に関連する入力メソッド・フラグを返す必要があります。

QWidget::inputMethodQuery()も参照

bool QQuickItem::isAncestorOf(const QQuickItem *child) const

このアイテムがchild の祖先である場合 (つまり、このアイテムがchild の親、またはchild の親の祖先のひとつである場合)、true を返します。

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

[protected] bool QQuickItem::isComponentComplete() const

QMLコンポーネントの構築が完了した場合はtrueを返し、そうでない場合はfalseを返します。

そうでない場合は false を返します。 コンポーネントが完成するまで処理を遅らせたいことがよくあります。

componentComplete() も参照

bool QQuickItem::isFocusScope() const

このアイテムがフォーカススコープであれば真を、そうでなければ偽を返します。

[virtual] bool QQuickItem::isTextureProvider() const

この項目がテクスチャプロバイダであれば真を返します。デフォルトの実装は false を返します。

この関数は、どのスレッドからでも呼び出すことができます。

[virtual protected] void QQuickItem::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)

このアイテムにchange が発生したときに呼び出されます。

value には、該当する場合、変更に関連する追加情報が含まれます。

サブクラスでこのメソッドを再実装する場合は、必ず実装の最後に

QQuickItem::itemChange(change, value);

windowChangedシグナルが発せられるようにします。

bool QQuickItem::keepMouseGrab() const

マウス入力をこのアイテムだけに残すかどうかを返します。

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

bool QQuickItem::keepTouchGrab() const

このアイテムによって掴まれたタッチポイントを、このアイテムだけに残すかどうかを返します。

setKeepTouchGrab() およびkeepMouseGrab() も参照

[virtual protected] void QQuickItem::keyPressEvent(QKeyEvent *event)

このイベントハンドラは、アイテムのキー押下イベントを受け取るためにサブクラスで再実装することができます。イベント情報はevent パラメータで提供されます。

イベントはデフォルトで受理されるので、この関数を再実装する場合、イベントを明示的に受理する必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

[virtual protected] void QQuickItem::keyReleaseEvent(QKeyEvent *event)

このイベント・ハンドラをサブクラスに再実装して、アイテムのキー・リリース・イベントを受け取ることができます。イベント情報はevent パラメータによって提供されます。

イベントはデフォルトで受理されるため、この関数を再実装する場合、イベントを明示的に受理する必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

[invokable] QPointF QQuickItem::mapFromGlobal(const QPointF &point) const

グローバルスクリーン座標系で与えられたpoint を、この項目の座標系内の等価点にマップし、マップされた座標を返す。

マッピングには、アイテムの以下のプロパティが使用される:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。

例えば、これは Qt Quick コンポーネントにポップアップを追加するのに役立ちます。

注意: ウィンドウの位置はウィンドウマネージャによって行われ、この値はヒントとしてのみ扱われます。そのため、結果として得られるウィンドウの位置は、期待されるものとは異なるかもしれません。

注意: このアイテムがサブシーンにある場合、例えば 3DModel オブジェクトにマッピングされている場合、UV マッピングはこの変換に組み込まれ、point が実際にこのアイテムの境界内にある限り、スクリーン座標からこのアイテムの座標に実際に移動します。他のマッピング関数はまだそのようには動作しません。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

Concepts - Visual Coordinates in Qt Quickも参照してください

[invokable] QPointF QQuickItem::mapFromItem(const QQuickItem *item, const QPointF &point) const

item の座標系で指定 さ れたpoint を、 こ の項目の座標系内の同等の点にマ ッ プ し 、 マ ッ プ さ れた座標を返 し ます。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれる。

itemnullptr の場合、シーンの座標系からpoint をマッピングする。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

Concepts - Visual Coordinates in Qt Quick」も参照してください

QPointF QQuickItem::mapFromScene(const QPointF &point) const

シーンの座標系で与えられたpoint を、このアイテムの座標系内の等価な点にマップし、マップされた座標を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれる。

Qt Quick の概念 - ビジュアル座標」も参照してください

QRectF QQuickItem::mapRectFromItem(const QQuickItem *item, const QRectF &rect) const

item の座標系で指定されたrect を、このアイテムの座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。

itemnullptr の場合、シーンの座標系からrect をマッピングする。

概念 - Qt Quick のビジュアル座標」も参照してください

QRectF QQuickItem::mapRectFromScene(const QRectF &rect) const

シーンの座標系で与えられたrect を、このアイテムの座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。

Qt Quick の概念 - ビジュアル座標」も参照してください

QRectF QQuickItem::mapRectToItem(const QQuickItem *item, const QRectF &rect) const

このアイテムの座標系で与えられたrect を、item の座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。

itemnullptr の場合、これはrect をシーンの座標系にマッピングする。

概念 - Qt Quick のビジュアル座標」も参照してください

QRectF QQuickItem::mapRectToScene(const QRectF &rect) const

このアイテムの座標系で与えられたrect を、シーンの座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。

Qt Quick の概念 - ビジュアル座標」も参照してください

[invokable] QPointF QQuickItem::mapToGlobal(const QPointF &point) const

このアイテムの座標系で与えられたpoint を、グローバルスクリーン座標系内の等価な点にマッピングし、マッピングされた座標を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれます。

例えば、これは Qt Quick コンポーネントにポップアップを追加するのに役立ちます。

注意: ウィンドウの位置はウィンドウマネージャによって行われ、この値はヒントとしてのみ扱われます。そのため、結果として得られるウィンドウの位置は、期待されるものと異なる可能性があります。

注意: この関数はメタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

Concepts - Visual Coordinates in Qt Quickも参照してください

[invokable] QPointF QQuickItem::mapToItem(const QQuickItem *item, const QPointF &point) const

このアイテムの座標系で与えられたpoint を、item の座標系内の等価な点にマップし、マップされた座標を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれる。

itemnullptr の場合、これはpoint をシーンの座標系にマッピングする。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

Concepts - Visual Coordinates in Qt Quickも参照してください

QPointF QQuickItem::mapToScene(const QPointF &point) const

このアイテムの座標系で与えられたpoint を、シーンの座標系内の等価な点にマップし、マップされた座標を返します。

マッピングには、アイテムの以下のプロパティが使用されます:x yscalerotationtransformOrigintransform

アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれます。

コンセプト - Qt Quick のビジュアル座標」も参照してください

[virtual protected] void QQuickItem::mouseDoubleClickEvent(QMouseEvent *event)

このイベントハンドラは、アイテムのマウスダブルクリックイベントを受け取るために、サブクラスで再実装することができます。イベント情報は、event パラメータによって提供されます。

イベントはデフォルトで受理されるので、この関数を再実装する場合、イベントを明示的に受理する必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

[virtual protected] void QQuickItem::mouseMoveEvent(QMouseEvent *event)

このイベント・ハンドラをサブクラスで再実装して、アイテムのマウス移動イベントを受け取ることができます。イベント情報はevent パラメータで提供されます。

マウスの移動イベントを受け取るには、その前のマウス押下イベントを(たとえば、mousePressEvent() をオーバーライドして)受け入れ、acceptedMouseButtons() が関連するマウス・ボタンを返す必要があります。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出す。

[virtual protected] void QQuickItem::mousePressEvent(QMouseEvent *event)

このイベント・ハンドラをサブクラスで再実装することで、アイテムのマウス押下イベントを受け取ることができます。イベント情報はevent パラメータによって提供されます。

マウス押下イベントを受け取るには、acceptedMouseButtons() が関連するマウス・ボタンを返す必要があります。

イベントはデフォルトで受理されるので、この関数を再実装する場合は、イベントを明示的に受理する必要はありません。イベントを受け付けない場合は、event->ignore() を呼び出します。

[virtual protected] void QQuickItem::mouseReleaseEvent(QMouseEvent *event)

このイベント・ハンドラをサブクラスに再実装して、アイテムのマウス・リリース・イベントを受け取ることができます。イベント情報はevent パラメータによって提供されます。

マウス・リリース・イベントを受け取るには、先行するマウス押下イベントを(たとえば、mousePressEvent() をオーバーライドして)受け入れ、acceptedMouseButtons() が関連するマウス・ボタンを返す必要があります。

イベントはデフォルトで受け付けられますので、この関数を再実装する場合は、イベントを明示的に受け付ける必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出す。

[virtual protected] void QQuickItem::mouseUngrabEvent()

このイベントハンドラをサブクラスで再実装することで、このアイテムでマウスを掴まないイベントが発生したときに通知を受けることができます。

[invokable] QQuickItem *QQuickItem::nextItemInFocusChain(bool forward = true)

このアイテムの次にあるフォーカスチェーンのアイテムを返します。forwardtrue の場合、または指定されていない場合は、前方向の次のアイテムになります。forwardfalse の場合は、後ろ方向の次の項目である。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

void QQuickItem::polish()

このアイテムのポリッシュイベントをスケジュールする。

シーングラフがリクエストを処理すると、このアイテムに対してupdatePolish() を呼び出します。

updatePolish(),QQuickTest::qIsPolishScheduled(),ensurePolished()も参照してください

[virtual protected] void QQuickItem::releaseResources()

この関数は、QQuickItem::updatePaintNode() から返されたノードによってまだ管理されていないグラフィックリソースを、アイテムが解放する必要があるときに呼び出される。

これは、アイテムが以前にレンダリングしていたウィンドウから削除されるときに発生する。この関数が呼ばれたとき、アイテムはwindow を持っていることが保証される。

この関数はGUIスレッドで呼び出され、レンダリングスレッドの状態は不明です。オブジェクトは直接削除せず、QQuickWindow::scheduleRenderJob() を使用してクリーンアップするようにスケジュールしてください。

Graphics Resource Handlingも参照してください

QQuickItem *QQuickItem::scopedFocusItem() const

このアイテムがフォーカススコープであれば、そのフォーカスチェーン内で現在フォーカスされているアイテムを返します。

このアイテムがフォーカススコープでない場合はnullptr を返します。

void QQuickItem::setAcceptHoverEvents(bool enabled)

enabled が true の場合、このアイテムはホバーイベントを受け付けるように設定されます。そうでない場合、このアイテムはホバーイベントを受け付けません。

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

void QQuickItem::setAcceptTouchEvents(bool enabled)

enabled が true の場合、アイテムがタッチイベントを受け付けるように設定します。

acceptTouchEvents() も参照

void QQuickItem::setAcceptedMouseButtons(Qt::MouseButtons buttons)

このアイテムが受け付けるマウスボタンをbuttons に設定します。

setAcceptTouchEvents注意: Qt 5 では、setAcceptedMouseButtons() を呼び出すと、アイテムはマウス・イベントだけでなくタッチ・イベントも暗黙的に受け取ります。Qt 6 では、これらのイベントを受信し続けるにはsetAcceptTouchEvents() を呼び出す必要があります。

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

void QQuickItem::setCursor(const QCursor &cursor)

このアイテムのcursor 形状を設定します。

cursor() およびunsetCursor() も参照して ください。

void QQuickItem::setFiltersChildMouseEvents(bool filter)

このアイテムの子アイテムを対象としたポインタイベントを、 このアイテムを通してフィルタリングするかどうかを設定します。

filter が true の場合、子アイテムのポインタイベントが発生するとchildMouseEventFilter() が呼び出されます。

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

void QQuickItem::setFlag(QQuickItem::Flag flag, bool enabled = true)

enabled が true の場合、このアイテムに対して指定されたflag を有効にします。enabled が false の場合、このフラグは無効になります。

こ れ ら は、 ア イ テ ムに対す る さ ま ざ ま な ヒ ン ト を提供 し ます。 た と えば、ItemClipsChildrenToShape フラグは、 こ のア イ テムの子ア イ テ ムはすべて、 ア イ テ ム領域内に収ま る よ う ク リ ッ プ さ れる必要があ る こ と を示 し ます。

void QQuickItem::setFlags(QQuickItem::Flags flags)

このアイテムの指定されたflags を有効にします。

flags() およびsetFlag()も参照

void QQuickItem::setFocusPolicy(Qt::FocusPolicy policy)

このアイテムのフォーカスポリシーをpolicy に設定する。

注釈: プロパティfocusPolicy に対するセッター関数。

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

void QQuickItem::setKeepMouseGrab(bool keep)

マウス入力をこのアイテムだけに残すかどうかを設定する。

これは、あらかじめ定義されたジェスチャーに従ってマウスのインタラクションを取得し、保持したいアイテムに便利です。例えば、マウスの水平方向の動きに興味のあるアイテムは、しきい値を超えたらkeepMouseGrab を true に設定することができます。keepMouseGrab が true に設定されると、フィルタリングアイテムはマウスイベントに反応しなくなります。

keep が false の場合、フィルタリングアイテムはグラブを盗むことができる。例えば、Flickable は、ユーザーがビューポートを動かし始めたことを検知すると、マウスグラブを奪おうとするかもしれません。

keepMouseGrab()も参照

void QQuickItem::setKeepTouchGrab(bool keep)

このアイテムによってつかまれたタッチポイントを、このアイテムだけに残すかどうかを設定します。

これは、あらかじめ定義されたジェスチャに従って特定のタッチポイントをつかんで保持したいアイテムに便利です。たとえば、水平方向のタッチポイント移動に関心のあるアイテムは、しきい値を超えたら setKeepTouchGrab を true に設定することができます。setKeepTouchGrabがtrueに設定されると、フィルタリングアイテムは関連するタッチポイントに反応しなくなります。

keep が false の場合、フィルタリングアイテムがグラブを盗む可能性があります。例えば、Flickable は、ユーザーがビューポートを動かし始めたことを検出すると、タッチポイントのグラブを盗もうとするかもしれない。

keepTouchGrab() およびsetKeepMouseGrab()も参照

void QQuickItem::setSize(const QSizeF &size)

アイテムのサイズをsize に設定します。 このメソッドは、widthとheightに関する既存のバインディングを保持します。したがって、バインディングの再実行をトリガーする変更は、設定された値を上書きします。

sizesetWidth 、およびsetHeightも参照してください

QSizeF QQuickItem::size() const

アイテムのサイズを返します。

setSizewidthheightも参照して ください。

void QQuickItem::stackAfter(const QQuickItem *sibling)

指定されたsibling アイテムを、子アイテムのリスト内でこのアイテムの後のインデックスに移動します。子の順序は、視覚的な積み重ね順序とタブフォーカスナビゲーションの順序の両方に影響します。

両方のアイテムの z 値が同じであると仮定すると、sibling はこのアイテムの下にレンダリングされます。

両方のアイテムのactiveFocusOnTabtrue に設定されている場合、タブフォーカスの順序も変更され、sibling がこのアイテムの前にフォーカスされます。

指定されたsibling は、このアイテムの兄弟でなければなりません。つまり、同じ直下のparent を持たなければなりません。

概念 - Qt Quick の視覚的な親」も参照してください

void QQuickItem::stackBefore(const QQuickItem *sibling)

指定されたsibling アイテムを、子アイテムのリスト内でこのアイテムの前のインデックスに移動します。子アイテムの順序は、視覚的なスタック順序とタブフォーカスナビゲーションの順序の両方に影響します。

両方のアイテムの z 値が同じであると仮定すると、sibling はこのアイテムの上にレンダリングされます。

両方のアイテムのactiveFocusOnTabtrue に設定されている場合、タブフォーカスの順序も変更され、sibling がこのアイテムの後にフォーカスされます。

指定されたsibling は、このアイテムの兄弟でなければなりません。つまり、同じ直下のparent を持たなければなりません。

概念 - Qt Quick の視覚的な親」も参照してください

[virtual] QSGTextureProvider *QQuickItem::textureProvider() const

項目のテクスチャプロバイダを返します。デフォルトの実装はnullptr を返します。

この関数は、レンダリングスレッドでのみ呼び出すことができます。

[virtual protected] void QQuickItem::touchEvent(QTouchEvent *event)

このイベントハンドラは、アイテムのタッチイベントを受け取るためにサブクラスで再実装することができます。イベント情報はevent パラメータで提供されます。

イベントはデフォルトで受理されるため、この関数を再実装する場合、イベントを明示的に受理する必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

[virtual protected] void QQuickItem::touchUngrabEvent()

このイベント・ハンドラをサブクラスで再実装すると、このアイテムでタッチ・アングラブ・イベントが発生したときに通知されるようになります。

void QQuickItem::unsetCursor()

このアイテムのカーソル形状をクリアします。

cursor() およびsetCursor()も参照してください

[slot] void QQuickItem::update()

このアイテムのupdatePaintNode() 呼び出しをスケジュールします。

アイテムがQQuickWindow で表示されている場合、QQuickItem::updatePaintNode() への呼び出しは常に発生します。

QQuickItem::update() を呼び出すことができるのは、QQuickItem::ItemHasContents を指定したアイテムのみです。

[protected] void QQuickItem::updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput)

queries は、変更された属性を示します。

[virtual protected] QSGNode *QQuickItem::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)

アイテムの状態をシーングラフと同期する時に、レンダースレッドで呼び出されます。

この関数は、ユーザーがアイテムにQQuickItem::ItemHasContents フラグを設定した場合、QQuickItem::update() の結果として呼び出される。

この関数は、このアイテムのシーングラフのサブツリーのルートを返す。ほとんどの実装では、このアイテムの視覚表現を含む単一のQSGGeometryNode を返します。oldNode は、この関数が最後に呼び出されたときに返されたノードです。updatePaintNodeData は、このQQuickItem に関連付けられたQSGTransformNode へのポインタを提供します。

QSGNode *MyItem::updatePaintNode(QSGNode *node, UpdatePaintNodeData *)
{
    QSGSimpleRectNode *n = static_cast<QSGSimpleRectNode *>(node);
    if (!n) {
        n = new QSGSimpleRectNode();
        n->setColor(Qt::red);
    }
    n->setRect(boundingRect());
    return n;
}

この関数が実行されている間、メイン・スレッドはブロックされるため、メイン・スレッドでQQuickItem インスタンスや他のオブジェクトから値を読み取ることは安全です。

QQuickItem::updatePaintNode()の呼び出しの結果、QSGNode::markDirty()やノードの追加と削除のような実際のシーングラフの変更が行われなかった場合、基本的な実装は、視覚的な結果が同じであるため、シーンを再度レンダリングしないことを決定するかもしれません。

警告 グラフィックス操作とシーングラフとのインタラクションは、主にQQuickItem::updatePaintNode()呼び出しの間、レンダリングスレッドのみで行われることが重要です。QQuickItem::updatePaintNode() 関数の内部では、"QSG" 接頭辞を持つクラスのみを使用することをお勧めします。

警告 この関数はレンダースレッドで呼び出されます。つまり、作成される QObject やスレッドローカルストレージはすべてレンダリングスレッドと親和性があるため、この関数でレンダリング以外の処理を行う場合は注意してください。シグナルについても同様に、これらはレンダリングスレッドで発行されるため、多くの場合キュー接続を介して配信されます。

注意: QSG 接頭辞を持つすべてのクラスは、シーングラフのレンダリングスレッドでのみ使用する必要があります。詳しくはシーングラフとレンダリングを参照してください。

QSGMaterialQSGGeometryNodeQSGGeometryQSGFlatColorMaterialQSGTextureMaterialQSGNode::markDirty() 、Graphics Resource Handlingも参照してください

[virtual protected] void QQuickItem::updatePolish()

この関数は、このアイテムに必要なレイアウトを実行する。

polish() が呼ばれると、シーングラフはこのアイテムのポリッシュイベントをスケジュールする。シーングラフがこのアイテムをレンダリングする準備ができたら、次のフレームをレンダリングする前に、updatePolish()を呼び出して、必要なアイテムのレイアウトを行います。

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

QQuickItem *QQuickItem::viewportItem() const

ItemObservesViewport フラグが設定されている場合は、ItemIsViewport フラグを持つ最も近い親を返します。フラグが設定されていない場合、または他のビューポート項目が見つからない場合は、ウィンドウの contentItem を返します。

ビューポート項目がなく、この項目がウィンドウに表示されていない場合のみ、nullptr を返す。

clipRect()も参照

[virtual protected] void QQuickItem::wheelEvent(QWheelEvent *event)

このイベントハンドラは、アイテムのホイールイベントを受け取るためにサブクラスで再実装することができます。イベント情報はevent パラメータによって提供されます。

イベントはデフォルトで受理されるので、この関数を再実装する場合、イベントを明示的に受理する必要はありません。イベントを受け入れない場合は、event->ignore() を呼び出してください。

[protected] bool QQuickItem::widthValid() const

width プロパティが明示的に設定されているかどうかを返します。

QQuickWindow *QQuickItem::window() const

このアイテムがレンダリングされるウィンドウを返す。

アイテムは、シーンに割り当てられるまでウィンドウを持たない。windowChanged() シグナルは、アイテムがシーンに入力されたときと、シーンから削除されたときの両方の通知を提供する。

[signal] void QQuickItem::windowChanged(QQuickWindow *window)

このシグナルは、アイテムのwindow が変更された時に発行されます。

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