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::ItemClipsChildrenToShape | 0x01 | このアイテムが、その子アイテムを視覚的にクリップして、このアイテムの境界内にのみレンダリングされるようにすることを示します。 |
QQuickItem::ItemAcceptsInputMethod | 0x02 | 項目がテキスト入力メソッドをサポートしていることを示す。 |
QQuickItem::ItemIsFocusScope | 0x04 | アイテムがフォーカススコープであることを示す。詳細はQt Quick のキーボード・フォーカスを参照してください。 |
QQuickItem::ItemHasContents | 0x08 | アイテムがビジュアルコンテンツを持ち、シーングラフによってレンダリングされるべきであることを示す。 |
QQuickItem::ItemAcceptsDrops | 0x10 | アイテムがドラッグ&ドロップイベントを受け付けることを示す。 |
QQuickItem::ItemIsViewport | 0x20 | アイテムが、その子のためのビューポートを定義することを示す。 |
QQuickItem::ItemObservesViewport | 0x40 | ItemIsViewportフラグが設定されている祖先がある場合、アイテムがビューポート境界を知りたいことを示す。 |
Flags 型はQFlags<Flag> の typedef です。これは、Flag値のORの組み合わせを格納します。
setFlag(),setFlags(),flags()も参照 。
enum QQuickItem::ItemChange
QQuickItem::itemChange() と併用することで、ある種の変更をアイテムに通知することができます。
定数 | 値 | 説明 |
---|---|---|
QQuickItem::ItemChildAddedChange | 0 | 子が追加されました。ItemChangeData::item は追加された子を含みます。 |
QQuickItem::ItemChildRemovedChange | 1 | 子が削除されました。ItemChangeData::item は削除された子を含みます。 |
QQuickItem::ItemSceneChange | 2 | アイテムがシーンに追加された、またはシーンから削除された。シーンをレンダリングするQQuickWindow は、ItemChangeData::window を使用して指定する。アイテムがシーンから削除されると、window パラメータは NULL になる。 |
QQuickItem::ItemVisibleHasChanged | 3 | アイテムの可視性が変更された。ItemChangeData::boolValue に新しい可視性が含まれる。 |
QQuickItem::ItemParentHasChanged | 4 | アイテムの親が変更されました。ItemChangeData::item に新しい親が含まれています。 |
QQuickItem::ItemOpacityHasChanged | 5 | アイテムの不透明度が変更されました。ItemChangeData::realValue に新しい不透明度が表示されます。 |
QQuickItem::ItemActiveFocusHasChanged | 6 | 項目のフォーカスが変更されました。ItemChangeData::boolValue に項目がフォーカスを持つかどうかが格納されます。 |
QQuickItem::ItemRotationHasChanged | 7 | アイテムの回転が変更されました。ItemChangeData::realValue に新しい回転が格納されます。 |
QQuickItem::ItemDevicePixelRatioHasChanged | 9 | アイテムが表示されている画面のデバイスピクセル比率が変更されました。ItemChangedData::realValue には、新しいデバイスピクセル比率が格納されます。 |
QQuickItem::ItemAntialiasingHasChanged | 8 | アンチエイリアスが変更されました。現在の (boolean) 値はQQuickItem::antialiasing にあります。 |
QQuickItem::ItemEnabledHasChanged | 10 | アイテムの有効状態が変更されました。ItemChangeData::boolValue に新しい有効状態が含まれています。(Qt 5.10 以降) |
enum QQuickItem::TransformOrigin
scale のような単純な変換が適用される点を制御します。
定数 | 値 | 説明 |
---|---|---|
QQuickItem::TopLeft | 0 | アイテムの左上隅。 |
QQuickItem::Top | 1 | アイテムの上部の中心点。 |
QQuickItem::TopRight | 2 | 項目の右上隅 |
QQuickItem::Left | 3 | 縦中央の左端 |
QQuickItem::Center | 4 | 項目の中央 |
QQuickItem::Right | 5 | 縦中間の右端 |
QQuickItem::BottomLeft | 6 | 項目の左下隅 |
QQuickItem::Bottom | 7 | 項目の底の中心点。 |
QQuickItem::BottomRight | 8 | 項目の右下隅。 |
transformOrigin() およびsetTransformOrigin()も参照 。
プロパティ文書
Itemの好ましい幅または高さを定義します。
width またはheight が指定されていない場合、アイテムの有効サイズはimplicitWidth またはimplicitHeight によって決定される。
しかし、アイテムがレイアウトの子である場合、レイアウトはその暗黙のサイズを使用してアイテムの好ましいサイズを決定する。こ の よ う な場合、 明示的なwidth またはheight は無視 さ れます。
ほとんどのアイテムのデフォルトの暗黙的サイズは0x0ですが、Image やText のように、オーバーライドできない暗黙的サイズを持つアイテムもあります。
暗黙的なサ イ ズ を設定す る こ と は、 内容に よ っ て優先 さ れ る サ イ ズ を持つ コ ン ポーネ ン ト を定義す る 場合な ど に有用です:
// 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 またはTextEdit のimplicitWidth を使い、幅を明示的に設定すると、テキストが2回レイアウトされなければならないため、パフォーマンス上のペナルティが発生します。
[read-only]
activeFocus : const bool
この読み取り専用プロパティは、アイテムにアクティブフォーカスがあるかどうかを示します。
activeFocusがtrueの場合、このアイテムが現在キーボード入力を受けているか、または現在キーボード入力を受けているアイテムのFocusScope 先祖である。
通常、activeFocus は項目とそれを囲むFocusScope オブジェクトにfocus を設定することで得られる。次の例では、input
とfocusScope
オブジェクトはアクティブフォーカスを持ちますが、ルート矩形オブジェクトは持ちません。
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 のfocus とKeyboard 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
に設定すると、自動的にactiveFocus がfalse
に設定され、このアイテムはキーボード イベントを受け取らなくなります。
注意: ホバー・イベントは、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
にアクティブフォーカスを与えることを意味します。
アクセス関数
bool | hasFocus() const |
void | setFocus(bool) |
void | setFocus(bool focus, Qt::FocusReason reason) |
Notifierシグナル
void | focusChanged(bool) |
Qt Quick のactiveFocus とKeyboard 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 の範囲外の値はクランプされます。
アイテムの不透明度を変更しても、そのアイテムがユーザー入力イベントを受け取るかどうかには影響しません。(対照的に、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 度(つまり回転なし)。
アクセス関数:
qreal | rotation() const |
void | setRotation(qreal) |
ノーティファイアシグナル:
void | rotationChanged() |
scale : qreal
このプロパティは、このアイテムのスケールファクターを保持する。
スケールが 1.0 より小さい場合、アイテムは小さいサイズでレンダリングされ、1.0 より大きい場合、アイテムは大きいサイズでレンダリングされる。負のスケールを指定すると、アイテムはレンダリング時にミラーリングされます。
デフォルト値は 1.0 です。
スケーリングはtransformOrigin から適用されます。
アクセス関数:
qreal | scale() const |
void | setScale(qreal) |
通知シグナル:
void | scaleChanged() |
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() |
[bindable]
width : qreal
注: このプロパティはQProperty バインディングをサポートしています。
このプロパティは、このアイテムの幅を保持する。
[bindable]
x : qreal
注: このプロパティは、QProperty バインディングをサポートしています。
このプロパティは、このアイテムの親からの相対的な x 位置を指定します。
[bindable]
y : qreal
注意: このプロパティはQProperty のバインディングに対応しています。
アイテムの親からの相対的な y 位置を定義します。
z : qreal
兄弟アイテムの積み重ね順序を設定します。デフォルトでは重ね順は 0 です。
積み重ね順が高いアイテムは、積み重ね順が低い兄弟の上に描画されます。同じスタッキング値を持つアイテムは、表示される順番が下から上に描画されます。負のスタッキング値を持つアイテムは、親のコンテンツの下に描画されます。
次の例は、積み重ね順序のさまざまな効果を示しています。
同じz - より後の子がより前の子の上に:
| |
より高いz が上:
| |
同じz - 親の上の子:
| |
下z
|
アクセス機能:
qreal | z() const |
void | setZ(qreal) |
通知シグナル
void | zChanged() |
メンバ関数 ドキュメント
[explicit]
QQuickItem::QQuickItem(QQuickItem *parent = nullptr)
与えられたparent で QQuickItem を構築します。
parent
はvisual parent とQObject の両方の親として使用されます。
[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() までの矩形を返します。これは、clip がtrue
の場合に表示される領域である。また、シーングラフに追加されるグラフィックを制限するために、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() を呼び出します。
これは、レイアウト(またはポジショナー)のように、implicitWidth とimplicitHeight の計算を 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
このアイテムのアイテムフラグを返します。
[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 y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングは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 y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれる。
item がnullptr
の場合、シーンの座標系からpoint をマッピングする。
注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
Concepts - Visual Coordinates in Qt Quick」も参照してください 。
QPointF QQuickItem::mapFromScene(const QPointF &point) const
シーンの座標系で与えられたpoint を、このアイテムの座標系内の等価な点にマップし、マップされた座標を返します。
マッピングには、アイテムの以下のプロパティが使用されます:x y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれる。
Qt Quick の概念 - ビジュアル座標」も参照してください 。
QRectF QQuickItem::mapRectFromItem(const QQuickItem *item, const QRectF &rect) const
item の座標系で指定されたrect を、このアイテムの座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。
マッピングには、アイテムの以下のプロパティが使用されます:x y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。
item がnullptr
の場合、シーンの座標系からrect をマッピングする。
概念 - Qt Quick のビジュアル座標」も参照してください 。
QRectF QQuickItem::mapRectFromScene(const QRectF &rect) const
シーンの座標系で与えられたrect を、このアイテムの座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。
マッピングには、アイテムの以下のプロパティが使用されます:x y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。
Qt Quick の概念 - ビジュアル座標」も参照してください 。
QRectF QQuickItem::mapRectToItem(const QQuickItem *item, const QRectF &rect) const
このアイテムの座標系で与えられたrect を、item の座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。
マッピングには、アイテムの以下のプロパティが使用されます:x y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。
item がnullptr
の場合、これはrect をシーンの座標系にマッピングする。
概念 - Qt Quick のビジュアル座標」も参照してください 。
QRectF QQuickItem::mapRectToScene(const QRectF &rect) const
このアイテムの座標系で与えられたrect を、シーンの座標系内の等価な矩形領域にマッピングし、マッピングされた矩形の値を返します。
マッピングには、アイテムの以下のプロパティが使用されます:x y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングは2つのシーンの相対位置を含む。
Qt Quick の概念 - ビジュアル座標」も参照してください 。
[invokable]
QPointF QQuickItem::mapToGlobal(const QPointF &point) const
このアイテムの座標系で与えられたpoint を、グローバルスクリーン座標系内の等価な点にマッピングし、マッピングされた座標を返します。
マッピングには、アイテムの以下のプロパティが使用されます:x y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングには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 y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングには2つのシーンの相対位置が含まれる。
item がnullptr
の場合、これはpoint をシーンの座標系にマッピングする。
注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
Concepts - Visual Coordinates in Qt Quickも参照してください 。
QPointF QQuickItem::mapToScene(const QPointF &point) const
このアイテムの座標系で与えられたpoint を、シーンの座標系内の等価な点にマップし、マップされた座標を返します。
マッピングには、アイテムの以下のプロパティが使用されます:x y 、scale 、rotation 、transformOrigin 、transform 。
アイテムが異なるシーンの一部である場合、マッピングには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)
このアイテムの次にあるフォーカスチェーンのアイテムを返します。forward がtrue
の場合、または指定されていない場合は、前方向の次のアイテムになります。forward がfalse
の場合は、後ろ方向の次の項目である。
注: この関数はメタオブジェクトシステムや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 を有効にします。
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に関する既存のバインディングを保持します。したがって、バインディングの再実行をトリガーする変更は、設定された値を上書きします。
size 、setWidth 、およびsetHeightも参照してください 。
QSizeF QQuickItem::size() const
アイテムのサイズを返します。
setSize 、width 、heightも参照して ください。
void QQuickItem::stackAfter(const QQuickItem *sibling)
指定されたsibling アイテムを、子アイテムのリスト内でこのアイテムの後のインデックスに移動します。子の順序は、視覚的な積み重ね順序とタブフォーカスナビゲーションの順序の両方に影響します。
両方のアイテムの z 値が同じであると仮定すると、sibling はこのアイテムの下にレンダリングされます。
両方のアイテムのactiveFocusOnTab がtrue
に設定されている場合、タブフォーカスの順序も変更され、sibling がこのアイテムの前にフォーカスされます。
指定されたsibling は、このアイテムの兄弟でなければなりません。つまり、同じ直下のparent を持たなければなりません。
概念 - Qt Quick の視覚的な親」も参照してください 。
void QQuickItem::stackBefore(const QQuickItem *sibling)
指定されたsibling アイテムを、子アイテムのリスト内でこのアイテムの前のインデックスに移動します。子アイテムの順序は、視覚的なスタック順序とタブフォーカスナビゲーションの順序の両方に影響します。
両方のアイテムの z 値が同じであると仮定すると、sibling はこのアイテムの上にレンダリングされます。
両方のアイテムのactiveFocusOnTab がtrue
に設定されている場合、タブフォーカスの順序も変更され、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 接頭辞を持つすべてのクラスは、シーングラフのレンダリングスレッドでのみ使用する必要があります。詳しくはシーングラフとレンダリングを参照してください。
QSGMaterial 、QSGGeometryNode 、QSGGeometry 、QSGFlatColorMaterial 、QSGTextureMaterial 、QSGNode::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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。