QGraphicsWidget Class
QGraphicsWidget クラスは、QGraphicsScene 内のすべてのウィジェット項目の基底クラスです。詳細...
| ヘッダー: | #include <QGraphicsWidget> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QGraphicsObject およびQGraphicsLayoutItem |
| 継承元: |
パブリック型
| enum { Type } |
プロパティ
|
|
パブリック関数
| QGraphicsWidget(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags()) | |
| virtual | ~QGraphicsWidget() |
| QList<QAction *> | actions() const |
| void | addAction(QAction *action) |
| void | addActions(const QList<QAction *> &actions) |
| void | adjustSize() |
| bool | autoFillBackground() const |
| Qt::FocusPolicy | focusPolicy() const |
| QGraphicsWidget * | focusWidget() const |
| QFont | font() const |
| void | getWindowFrameMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const |
| int | grabShortcut(const QKeySequence &sequence, Qt::ShortcutContext context = Qt::WindowShortcut) |
| void | insertAction(QAction *before, QAction *action) |
| void | insertActions(QAction *before, const QList<QAction *> &actions) |
| bool | isActiveWindow() const |
| QGraphicsLayout * | layout() const |
| Qt::LayoutDirection | layoutDirection() const |
| virtual void | paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) |
| QPalette | palette() const |
| QRectF | rect() const |
| void | releaseShortcut(int id) |
| void | removeAction(QAction *action) |
| void | resize(const QSizeF &size) |
| void | resize(qreal w, qreal h) |
| void | setAttribute(Qt::WidgetAttribute attribute, bool on = true) |
| void | setAutoFillBackground(bool enabled) |
| void | setContentsMargins(QMarginsF margins) |
| void | setContentsMargins(qreal left, qreal top, qreal right, qreal bottom) |
| void | setFocusPolicy(Qt::FocusPolicy policy) |
| void | setFont(const QFont &font) |
| void | setGeometry(qreal x, qreal y, qreal w, qreal h) |
| void | setLayout(QGraphicsLayout *layout) |
| void | setLayoutDirection(Qt::LayoutDirection direction) |
| void | setPalette(const QPalette &palette) |
| void | setShortcutAutoRepeat(int id, bool enabled = true) |
| void | setShortcutEnabled(int id, bool enabled = true) |
| void | setStyle(QStyle *style) |
| void | setWindowFlags(Qt::WindowFlags wFlags) |
| void | setWindowFrameMargins(QMarginsF margins) |
| void | setWindowFrameMargins(qreal left, qreal top, qreal right, qreal bottom) |
| void | setWindowTitle(const QString &title) |
| QSizeF | size() const |
| QStyle * | style() const |
| bool | testAttribute(Qt::WidgetAttribute attribute) const |
| void | unsetLayoutDirection() |
| void | unsetWindowFrameMargins() |
| Qt::WindowFlags | windowFlags() const |
| QRectF | windowFrameGeometry() const |
| QRectF | windowFrameRect() const |
| QString | windowTitle() const |
| Qt::WindowType | windowType() const |
再実装されたパブリック関数
| virtual QRectF | boundingRect() const override |
| virtual void | getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const override |
| virtual void | paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override |
| virtual void | setGeometry(const QRectF &rect) override |
| virtual QPainterPath | shape() const override |
| virtual int | type() const override |
パブリックスロット
| bool | close() |
シグナル
| void | geometryChanged() |
静的パブリックメンバー
| void | setTabOrder(QGraphicsWidget *first, QGraphicsWidget *second) |
protected 関数
| virtual void | changeEvent(QEvent *event) |
| virtual void | closeEvent(QCloseEvent *event) |
| virtual bool | focusNextPrevChild(bool next) |
| virtual void | grabKeyboardEvent(QEvent *event) |
| virtual void | grabMouseEvent(QEvent *event) |
| virtual void | hideEvent(QHideEvent *event) |
| virtual void | initStyleOption(QStyleOption *option) const |
| virtual void | moveEvent(QGraphicsSceneMoveEvent *event) |
| virtual void | polishEvent() |
| virtual void | resizeEvent(QGraphicsSceneResizeEvent *event) |
| virtual void | showEvent(QShowEvent *event) |
| virtual void | ungrabKeyboardEvent(QEvent *event) |
| virtual void | ungrabMouseEvent(QEvent *event) |
| virtual bool | windowFrameEvent(QEvent *event) |
| virtual Qt::WindowFrameSection | windowFrameSectionAt(const QPointF &pos) const |
再実装されたプロテクト関数
| virtual bool | event(QEvent *event) override |
| virtual void | focusInEvent(QFocusEvent *event) override |
| virtual void | focusOutEvent(QFocusEvent *event) override |
| virtual void | hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override |
| virtual void | hoverMoveEvent(QGraphicsSceneHoverEvent *event) override |
| virtual QVariant | itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override |
| virtual bool | sceneEvent(QEvent *event) override |
| virtual QSizeF | sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override |
| virtual void | updateGeometry() override |
詳細な説明
QGraphicsWidgetは、QGraphicsItem に対して追加の機能を提供する拡張ベースアイテムです。多くの点でQWidget と類似しています:
- palette 、font 、およびstyle() を提供します。
- geometry() が定義されています。
- setLayout() およびlayout() によるレイアウトをサポートしています。
- grabShortcut() およびinsertAction() を使用して、ショートカットやアクションをサポートします。
QGraphicsItem とは異なり、QGraphicsWidget は抽象クラスではありません。サブクラス化することなく、QGraphicsWidget のインスタンスを作成できます。このアプローチは、子ウィジェットをレイアウトに配置することのみを目的とするウィジェットに有用です。
高度な入力フォーカス処理(タブフォーカスやアクティベーションなど)やレイアウトが必要な場合、QGraphicsWidgetを独自のカスタムアイテムのベースアイテムとして使用できます。
QGraphicsWidgetはQWidget に似ており、APIも類似しているため、QGraphicsItem ではなく、QWidget からQGraphicsWidgetへウィジェットを移植する方が容易です。
注: QWidget ベースのウィジェットは、QGraphicsProxyWidget を使用してQGraphicsScene に直接埋め込むことができます。
QGraphicsWidgetとQWidget の顕著な違いは以下の通りです:
| QGraphicsWidget | QWidget |
|---|---|
| 座標とジオメトリは qreal (プラットフォームに応じて double または float)で定義されます。 | QWidget 整数のジオメトリを使用します(QPoint 、QRect )。 |
| ウィジェットはデフォルトですでに表示されています。ウィジェットを表示するためにshow() を呼び出す必要はありません。 | QWidget show() を呼び出すまでは、デフォルトで非表示になっています。 |
| ウィジェット属性の一部がサポートされています。 | すべてのウィジェット属性がサポートされています。 |
| トップレベル項目のスタイルは、デフォルトでQGraphicsScene::style | トップレベルウィジェットのスタイルのデフォルトはQApplication::style |
| Graphics View は、QWidget とは異なる、カスタムなドラッグ&ドロップフレームワークを提供します。 | 標準のドラッグ&ドロップフレームワーク。 |
| ウィジェット項目はモーダリティをサポートしていません。 | モダリティを完全にサポートしています。 |
QGraphicsWidget は、以下の表に示すように、Qt のウィジェット属性 (Qt::WidgetAttribute) の一部をサポートしています。この表に記載されていない属性は、サポートされていないか、あるいは使用されていないものです。
| ウィジェット属性 | 使用方法 |
|---|---|
| Qt::WA_SetLayoutDirection | setLayoutDirection() によって設定され、unsetLayoutDirection() によってクリアされます。この属性をテストすることで、ウィジェットにlayoutDirection が明示的に割り当てられているかどうかを確認できます。この属性が設定されていない場合、layoutDirection() が継承されます。 |
| Qt::WA_RightToLeft | setLayoutDirection() によって切り替えられます。親/シーンから継承されます。設定されている場合、ウィジェットのレイアウトでは、水平方向に配置されたウィジェットが右から左の順に並べられます。 |
| Qt::WA_SetStyle | setStyle() によって設定および解除されます。この属性が設定されている場合、ウィジェットには明示的にスタイルが割り当てられています。設定されていない場合、ウィジェットはシーンまたはアプリケーションのスタイルを使用します。 |
| Qt::WA_Resized | setGeometry() およびresize() によって設定されます。 |
| Qt::WA_SetPalette | setPalette() によって設定されます。 |
| Qt::WA_SetFont | setFont() によって設定されます。 |
| Qt::WA_WindowPropagation | ウィンドウウィジェットへの伝播を有効にします。 |
QGraphicsWidget はQObject とQGraphicsItem の両方を継承していますが、親アイテムと子アイテム間の関係を管理するには、QObjectではなく、QGraphicsItem が提供する関数を使用する必要があります。これらの関数は、アイテムの所有権だけでなく、スタック順も制御します。
注: QObject::parent() は 、QGraphicsWidgets に対しては常にnullptr を返すようにすべきですが、この方針は厳密に定義されているわけではありません。
関連項目: QGraphicsProxyWidget 、QGraphicsItem 、および「ウィジェットとレイアウト」。
プロパティのドキュメント
autoFillBackground : bool
このプロパティは、ウィジェットの背景が自動的に塗りつぶされるかどうかを指定します
このプロパティを有効にすると、Qtはpaint()メソッドを呼び出す前に、ウィジェットの背景を塗りつぶします。使用される色は、ウィジェットのpalette にあるQPalette::Window カラーロールによって定義されます。
さらに、WA_OpaquePaintEvent または WA_NoSystemBackground 属性が設定されていない限り、ウィンドウの背景は常にQPalette::Window で塗りつぶされます。
デフォルトでは、このプロパティはfalse です。
アクセス関数:
| bool | autoFillBackground() const |
| void | setAutoFillBackground(bool enabled) |
関連項目: Qt::WA_OpaquePaintEvent およびQt::WA_NoSystemBackground 。
focusPolicy : Qt::FocusPolicy
このプロパティは、ウィジェットがキーボードフォーカスを受け付ける方法を指定します
フォーカスポリシーは、ウィジェットがタブキー操作でキーボードフォーカスを受け付ける場合は `Qt::TabFocus `、クリックでフォーカスを受け付ける場合は `Qt::ClickFocus `、両方で受け付ける場合は `Qt::StrongFocus `、フォーカスを一切受け付けない場合は `Qt::NoFocus `(デフォルト)となります。
ウィジェットがキーボードイベントを処理する場合は、キーボードフォーカスを有効にする必要があります。これは通常、ウィジェットのコンストラクタから行われます。たとえば、QLineEdit のコンストラクタでは、setFocusPolicy(Qt::StrongFocus) が呼び出されます。
フォーカスポリシーを有効にする場合(つまり、Qt::NoFocus 以外の場合)、QGraphicsWidget は自動的に ItemIsFocusable フラグを有効にします。ウィジェットに対してQt::NoFocus を設定すると、ItemIsFocusable フラグがクリアされます。ウィジェットが現在キーボードフォーカスを保持している場合、ウィジェットは自動的にフォーカスを失います。
アクセス関数:
| Qt::FocusPolicy | focusPolicy() const |
| void | setFocusPolicy(Qt::FocusPolicy policy) |
関連項目: focusInEvent()、focusOutEvent()、keyPressEvent()、keyReleaseEvent()、およびenabled 。
font : QFont
このプロパティは、ウィジェットのフォントを保持します
このプロパティは、ウィジェットのフォントを提供します。
QFont 明示的に定義されたフォントプロパティと、ウィジェットの親から暗黙的に継承されたプロパティで構成されています。そのため、font() が返すフォントは、setFont() で設定されたフォントとは異なる場合があります。この仕組みにより、フォントの継承されたエントリに影響を与えることなく、フォント内の個々のエントリを定義することができます。
ウィジェットのフォントが変更されると、そのエントリは親ウィジェットに対して解決されます。ウィジェットに親ウィジェットがない場合は、シーンに対してエントリが解決されます。その後、ウィジェットは自身に `FontChange ` イベントを送信し、すべての子孫ウィジェットに通知して、それらもフォントを解決できるようにします。
デフォルトでは、このプロパティにはアプリケーションのデフォルトフォントが設定されています。
アクセス関数:
| QFont | font() const |
| void | setFont(const QFont &font) |
関連項目: QApplication::font()、QGraphicsScene::font 、およびQFont::resolve()。
geometry : QRectF
このプロパティには、ウィジェットのジオメトリが格納されます
アイテムのジオメトリを `rect` に設定します。この関数を呼び出すと、アイテムの位置とサイズが変更されます。まずアイテムが移動され、その後サイズが変更されます。
この関数を呼び出すと、ウィジェットが移動イベントとサイズ変更イベントを受信するという副作用があります。また、ウィジェットにレイアウトが割り当てられている場合、そのレイアウトが有効になります。
アクセス関数:
| virtual void | setGeometry(const QRectF &rect) override |
| void | setGeometry(qreal x, qreal y, qreal w, qreal h) |
通知シグナル:
| void | geometryChanged() |
layout : QGraphicsLayout*
このプロパティには、ウィジェットのレイアウトが格納されます
新しいレイアウトが割り当てられる前に、既存のレイアウトマネージャはすべて削除されます。layout がnullptr の場合、ウィジェットはレイアウトを持たない状態になります。既存のサブウィジェットのジオメトリには影響しません。
QGraphicsWidget layout の所有権を引き継ぎます。
layout またはそのすべてのサブレイアウトによって現在管理されているすべてのウィジェットは、自動的にこのアイテムの子として再割り当てされます。その後、レイアウトは無効化され、子ウィジェットのジオメトリは、このアイテムの `geometry()` および `contentsMargins()` に基づいて調整されます。layout によって明示的に管理されていない子ウィジェットは、このウィジェットにレイアウトが割り当てられた後も、その影響を受けません。
現在、このウィジェットを管理しているレイアウトがない場合、layout()はnullptr を返します。
アクセス関数:
layoutDirection : Qt::LayoutDirection
このプロパティは、このウィジェットのレイアウト方向を保持します。
このプロパティは、このウィジェットおよびそのすべての子ウィジェットの `Qt::WA_RightToLeft ` 属性を変更します。また、このウィジェットの `Qt::WA_SetLayoutDirection ` 属性も設定します。
ウィジェットのレイアウト方向は、レイアウトマネージャがこのウィジェットのサブウィジェットを水平方向に配置する順序を決定します。デフォルト値はアプリケーションの言語およびロケールに依存し、通常は文字が読み書きされる方向と同じになります。Qt::LeftToRight を指定すると、レイアウトは本ウィジェットの左側から右側に向かってサブウィジェットの配置を開始します。Qt::RightToLeft を指定するとその逆となり、レイアウトは右端から左側に向かってウィジェットを配置します。
サブウィジェットは、親からレイアウト方向を継承します。最上位のウィジェット項目は、QGraphicsScene::layoutDirection からレイアウト方向を継承します。setLayoutDirection() を呼び出してウィジェットのレイアウト方向を変更すると、そのウィジェットは自身に `LayoutDirectionChange ` イベントを送信し、新しいレイアウト方向をすべての子孫に伝播します。
アクセス関数:
| Qt::LayoutDirection | layoutDirection() const |
| void | setLayoutDirection(Qt::LayoutDirection direction) |
| void | unsetLayoutDirection() |
QWidget::layoutDirection およびQApplication::layoutDirectionも参照してください 。
maximumSize : QSizeF
このプロパティは、ウィジェットの最大サイズを保持します
関連項目: setMaximumSize()、maximumSize()、minimumSize 、およびpreferredSize 。
minimumSize : QSizeF
このプロパティは、ウィジェットの最小サイズを保持します
関連項目: setMinimumSize()、minimumSize()、preferredSize 、およびmaximumSize 。
palette : QPalette
このプロパティは、ウィジェットのパレットを保持します
このプロパティは、ウィジェットのパレットを提供します。パレットは、カラーグループ(例:QPalette::Button )や状態(例:QPalette::Inactive )に対して色やブラシを提供し、ウィジェットとその子要素の全体的な外観を大まかに定義します。
QPalette パレットは、明示的に定義されたカラーグループと、ウィジェットの親から暗黙的に継承されたグループで構成されます。このため、palette() は setPalette() で設定されたものとは異なるパレットを返すことがあります。この仕組みにより、パレットの継承されたエントリに影響を与えることなく、パレット内の個々のエントリを定義することができます。
ウィジェットのパレットが変更されると、そのエントリは親ウィジェットに対して解決されます。親ウィジェットがない場合は、シーンに対して解決されます。その後、ウィジェットは自身にPaletteChange イベントを送信し、すべての子孫ウィジェットに通知して、それらもパレットを解決できるようにします。
デフォルトでは、このプロパティにはアプリケーションのデフォルトパレットが格納されています。
アクセス関数:
| QPalette | palette() const |
| void | setPalette(const QPalette &palette) |
関連項目: QGuiApplication::palette()、QGraphicsScene::palette 、およびQPalette::resolve()。
preferredSize : QSizeF
このプロパティは、ウィジェットの推奨サイズを保持します
関連項目: setPreferredSize()、preferredSize()、minimumSize 、およびmaximumSize 。
size : QSizeF
このプロパティは、ウィジェットのサイズを保持します
resize() を呼び出すと、ウィジェットはminimumSize() とmaximumSize() で囲まれた範囲の `size ` にサイズ変更されます。このプロパティはウィジェットの幅と高さ(つまり、右端と下端)にのみ影響し、ウィジェットの位置や左上隅は影響を受けません。
ウィジェットのサイズ変更が行われると、ウィジェットは直ちに、ウィジェットの旧サイズと新サイズを含むGraphicsSceneResize イベントを受信します。このイベントが発生した時点でウィジェットにレイアウトが割り当てられている場合、そのレイアウトが有効化され、子ウィジェットのジオメトリが自動的に更新されます。
このプロパティは、親ウィジェットのレイアウトには影響しません。ウィジェット自体が親レイアウトによって管理されている場合(例えば、レイアウトが割り当てられた親ウィジェットを持つ場合)、そのレイアウトは有効化されません。
デフォルトでは、このプロパティには幅と高さがゼロのサイズが格納されます。
アクセス関数:
| QSizeF | size() const |
| void | resize(const QSizeF &size) |
| void | resize(qreal w, qreal h) |
通知シグナル:
| void | geometryChanged() |
関連項目: setGeometry()、QGraphicsSceneResizeEvent 、およびQGraphicsLayout 。
sizePolicy : QSizePolicy
このプロパティは、ウィジェットのサイズに関するポリシーを保持します
sizePolicy()、setSizePolicy()、およびQWidget::sizePolicy()も参照してください 。
windowFlags : Qt::WindowFlags
このプロパティには、ウィジェットのウィンドウフラグが格納されます
ウィンドウフラグは、ウィンドウの種類(例:Qt::Dialog )と、ウィンドウの動作に関するヒントとなるいくつかのフラグの組み合わせです。その動作はプラットフォームに依存します。
デフォルトでは、このプロパティにはウィンドウフラグは含まれません。
ウィンドウはパネルです。Qt::Window フラグを設定すると、ItemIsPanelフラグが自動的に設定されます。Qt::Window フラグをクリアすると、ItemIsPanelフラグもクリアされます。なお、ItemIsPanelフラグはQt::Window とは独立して設定できることに注意してください。
アクセス関数:
| Qt::WindowFlags | windowFlags() const |
| void | setWindowFlags(Qt::WindowFlags wFlags) |
isWindow() およびisPanel()も参照してください 。
windowTitle : QString
このプロパティには、ウィンドウのタイトル(キャプション)が格納されます。
このプロパティはウィンドウでのみ使用されます。
デフォルトでは、タイトルが設定されていない場合、このプロパティには空の文字列が含まれます。
アクセス関数:
| QString | windowTitle() const |
| void | setWindowTitle(const QString &title) |
メンバ関数のドキュメント
QGraphicsWidget::QGraphicsWidget(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
QGraphicsWidgetのインスタンスを作成します。オプションのparent 引数は、QGraphicsItem のコンストラクタに渡されます。オプションのwFlags 引数は、ウィジェットのウィンドウフラグ(例えば、ウィジェットをウィンドウ、ツール、ポップアップなどのいずれにするか)を指定します。
[virtual noexcept] QGraphicsWidget::~QGraphicsWidget()
QGraphicsWidget インスタンスを破棄します。
QList<QAction *> QGraphicsWidget::actions() const
このウィジェットのアクションのリスト(空の場合もある)を返します。
insertAction()、removeAction()、QWidget::actions()、QAction::associatedWidgets()、およびQAction::associatedGraphicsWidgets()も参照してください 。
void QGraphicsWidget::addAction(QAction *action)
このウィジェットのアクション一覧に、アクション「action 」を追加します。
すべての QGraphicsWidget には `QAction` のリストがありますが、それらはグラフィカルにさまざまな方法で表現されます。QAction リストのデフォルトの用途(actions() によって返されるもの)は、コンテキスト `QMenu` を作成することです。
QGraphicsWidget には、各アクションが1つずつしか存在してはならず、すでに存在するアクションを追加しても、そのアクションがウィジェット内に2回出現することはありません。
removeAction()、insertAction()、actions()、およびQWidget::addAction()も参照してください 。
void QGraphicsWidget::addActions(const QList<QAction *> &actions)
actions のアクションを、このウィジェットのアクション一覧に追加します。
removeAction()、QMenu 、addAction()、およびQWidget::addActions()も参照してください 。
void QGraphicsWidget::adjustSize()
ウィジェットのサイズを、その「実効推奨サイズ」ヒントに合わせて調整します。
この関数は、アイテムが最初に表示される際に暗黙的に呼び出されます。
effectiveSizeHint() およびQt::MinimumSizeも参照してください 。
[override virtual] QRectF QGraphicsWidget::boundingRect() const
QGraphicsItem::boundingRect() const を再実装します。
[virtual protected] void QGraphicsWidget::changeEvent(QEvent *event)
このイベントハンドラは、状態の変化を処理するように再実装することができます。
このイベントで変更される状態は、event を通じて取得できます。
変更イベントには、QEvent::ActivationChange 、QEvent::EnabledChange 、QEvent::FontChange 、QEvent::StyleChange 、QEvent::PaletteChange 、QEvent::ParentChange 、QEvent::LayoutDirectionChange 、およびQEvent::ContentsRectChange があります。
[slot] bool QGraphicsWidget::close()
ウィジェットを閉じるには、この関数を呼び出します。
ウィジェットが閉じられた場合はtrue を返し、そうでない場合はfalse を返します。このスロットはまず、ウィジェットにQCloseEvent を送信します。ウィジェットはこのイベントを受け入れる場合もあれば、受け入れない場合もあります。イベントが無視された場合、何も起こりません。イベントが受け入れられた場合、ウィジェットに対してhide()が実行されます。
ウィジェットにQt::WA_DeleteOnClose 属性が設定されている場合、そのウィジェットは削除されます。
[virtual protected] void QGraphicsWidget::closeEvent(QCloseEvent *event)
event に対するこのイベントハンドラは、ウィジェットの閉じるイベントを受け取るために、サブクラスで再実装することができます。デフォルトの実装では、このイベントを受け入れます。
close() およびQCloseEventも参照してください 。
[override virtual protected] bool QGraphicsWidget::event(QEvent *event)
QGraphicsObject::event(QEvent *ev) を再実装します。
event を処理します。QGraphicsWidget は以下のイベントを処理します:
| イベント | 使用方法 |
|---|---|
| ポーランド語 | ウィジェットが表示されてからしばらく経った後に、そのウィジェットに配信されます。 |
| GraphicsSceneMove | ウィジェットのローカル位置が変更された後に、ウィジェットに配信されます。 |
| GraphicsSceneResize | ウィジェットのサイズが変更された後に、そのウィジェットに配信されます。 |
| Show | ウィジェットが表示される前に、そのウィジェットに配信されます。 |
| Hide | ウィジェットが非表示になった後にウィジェットに配信されます。 |
| PaletteChange | ウィジェットのパレットが変更された後にウィジェットに配信されます。 |
| FontChange | フォントが変更された後にウィジェットに配信されます。 |
| EnabledChange | ウィジェットの有効状態が変更された後にウィジェットに配信されます。 |
| StyleChange | ウィジェットのスタイルが変更された後にウィジェットに配信されます。 |
| LayoutDirectionChange | ウィジェットのレイアウト方向が変更された後にウィジェットに送信されます。 |
| ContentsRectChange | ウィジェットのコンテンツの余白やコンテンツ矩形が変更された後に、そのウィジェットに通知されます。 |
[override virtual protected] void QGraphicsWidget::focusInEvent(QFocusEvent *event)
QGraphicsItem::focusInEvent(QFocusEvent *event) を再実装しています。
[virtual protected] bool QGraphicsWidget::focusNextPrevChild(bool next)
TabキーおよびShift+Tabキーの操作に応じて、キーボードフォーカスを移す新しいウィジェットを検索し、新しいウィジェットが見つかった場合はtrue を返し、見つからない場合はfalse を返します。next がtrueの場合、この関数は前方へ検索し、next がfalseの場合は後方へ検索します。
場合によっては、自身のウィジェットおよびその子ウィジェットに対して特別なフォーカス処理を行うために、この関数を再実装したいこともあるでしょう。たとえば、Webブラウザでは、現在アクティブなリンクを前または後ろに移動するためにこの関数を再実装し、ページ上の最後のリンクまたは最初のリンクに到達した場合にのみ、基本実装を呼び出すことがあります。
子ウィジェットは親ウィジェットに対して focusNextPrevChild() を呼び出しますが、フォーカスをどこにリダイレクトするかを決定するのは、子ウィジェットを含むウィンドウのみです。オブジェクトに対してこの関数を再実装することで、すべての子ウィジェットのフォーカス移動を制御できるようになります。
focusPolicy()も参照してください 。
[override virtual protected] void QGraphicsWidget::focusOutEvent(QFocusEvent *event)
QGraphicsItem::focusOutEvent(QFocusEvent *event) を再実装します。
QGraphicsWidget *QGraphicsWidget::focusWidget() const
このウィジェット、またはその子ウィジェットもしくは子孫ウィジェットのいずれかが現在入力フォーカスを有している場合、この関数はそのウィジェットへのポインタを返します。子孫ウィジェットのいずれにも入力フォーカスがない場合は、nullptr が返されます。
QGraphicsItem::focusItem() およびQWidget::focusWidget()も参照してください 。
[signal] void QGraphicsWidget::geometryChanged()
このシグナルは、setGeometry() 内でジオメトリが変更されるたびに発火します。
[override virtual] void QGraphicsWidget::getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
QGraphicsLayoutItem::getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const を再実装します。
ウィジェットのコンテンツのマージンを取得します。マージンは、left 、top 、right 、bottom に、qrealへのポインタとして格納されます。各引数は、nullptr を指定することで省略可能です。
setContentsMargins()も参照してください 。
void QGraphicsWidget::getWindowFrameMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
ウィジェットのウィンドウ枠の余白を取得します。余白は、left 、top 、right 、bottom に、qreal へのポインタとして格納されます。nullptr を渡すことで、各引数を省略することができます。
setWindowFrameMargins() およびwindowFrameRect()も参照してください 。
[virtual protected] void QGraphicsWidget::grabKeyboardEvent(QEvent *event)
event に対するこのイベントハンドラは、QEvent::GrabKeyboard イベントの通知を受け取るように、サブクラスで再実装することができます。
grabKeyboard() およびgrabMouse()も参照してください 。
[virtual protected] void QGraphicsWidget::grabMouseEvent(QEvent *event)
event に対するこのイベントハンドラは、QEvent::GrabMouse イベントの通知を受け取るように、サブクラスで再実装することができます。
grabMouse() およびgrabKeyboard()も参照してください 。
int QGraphicsWidget::grabShortcut(const QKeySequence &sequence, Qt::ShortcutContext context = Qt::WindowShortcut)
Qtのショートカットシステムに、指定されたキーsequence が指定されたcontext で押されたことを監視するショートカットを追加します。context がQt::ApplicationShortcut の場合、このショートカットはアプリケーション全体に適用されます。 それ以外の場合は、このウィジェット(Qt::WidgetShortcut )またはウィンドウ自体(Qt::WindowShortcut )にローカルに適用されます。ウィンドウの一部ではないウィジェット(つまり、トップレベルウィジェットとその子ウィジェット)の場合、Qt::WindowShortcut ショートカットはシーンに適用されます。
同じキーsequence が複数のウィジェットによってグラブされている場合、キーsequence が発生すると、QEvent::Shortcut イベントが、適用されるすべてのウィジェットに対して非決定的な順序で送信されますが、その際、``ambiguous'' フラグは true に設定されます。
警告: 通常、この関数を使用する必要はありません 。代わりに、必要なショートカットキーシーケンスを使用して `QAction` を作成するか(同等のメニューオプションやツールバーボタンも必要な場合)、キーシーケンスのみが必要な場合は `QShortcut` を作成してください。QAction とQShortcut は、イベントフィルタリングをすべて自動的に処理し、ユーザーがキーシーケンスを実行したときにトリガーされるシグナルを提供するため、この低レベルな関数よりもはるかに使いやすいです。
releaseShortcut()、setShortcutEnabled()、およびQWidget::grabShortcut()も参照してください 。
[virtual protected] void QGraphicsWidget::hideEvent(QHideEvent *event)
Hide イベント用のこのイベントハンドラは、ウィジェットが非表示になった後に呼び出されます。たとえば、ウィジェットが以前に表示されていた状態で、そのウィジェットまたはその祖先ウィジェットのいずれかに対して setVisible(false) が呼び出された場合などです。
このイベントハンドラを再実装することで、ウィジェットが非表示になったことを検出できます。event に対してQEvent::accept() またはQEvent::ignore() を呼び出しても、何の効果もありません。
showEvent()、QWidget::hideEvent()、およびItemVisibleChangeも参照してください 。
[override virtual protected] void QGraphicsWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) を再実装します。
[override virtual protected] void QGraphicsWidget::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event) を再実装しています。
[virtual protected] void QGraphicsWidget::initStyleOption(QStyleOption *option) const
このウィジェットの現在の状態に基づいて、スタイルオプションオブジェクトを設定し、その出力をoption に格納します。デフォルトの実装では、option に以下のプロパティが設定されます。
| スタイルオプションのプロパティ | 値 |
|---|---|
| state &QStyle::State_Enabled | QGraphicsItem::isEnabled() に対応します。 |
| state &QStyle::State_HasFocus | QGraphicsItem::hasFocus() に対応します。 |
| state &QStyle::State_MouseOver | QGraphicsItem::isUnderMouse() に対応します。 |
| direction | QGraphicsWidget::layoutDirection() に対応します。 |
| rect | QGraphicsWidget::rect().toRect() に対応します。 |
| palette | QGraphicsWidget::palette() に対応します。 |
| fontMetrics | QFontMetrics(QGraphicsWidget::font()) に対応します。 |
QGraphicsWidget のサブクラスは、ベースの実装を呼び出した後、qstyleoption_cast<>() を使用してoption の型をテストするか、QStyleOption::Type をテストしてから、ウィジェット固有のオプションを格納する必要があります。
例:
void MyGroupBoxWidget::initStyleOption(QStyleOption *option) const
{
QGraphicsWidget::initStyleOption(option);
if (QStyleOptionGroupBox *box = qstyleoption_cast<QStyleOptionGroupBox *>(option)) {
// Add group box specific state.
box->text = tr("My Group Box");
//...
}
}QStyleOption::initFrom()も参照してください 。
void QGraphicsWidget::insertAction(QAction *before, QAction *action)
アクション「action 」を、このウィジェットのアクション一覧に、「before 」アクションの直前に挿入します。before がnullptr である場合、またはbefore がこのウィジェットに対して有効なアクションでない場合は、そのアクションを末尾に追加します。
QGraphicsWidget には、各アクションが1つずつしか含まれてはなりません。
removeAction()、addAction()、QMenu 、actions()、およびQWidget::insertActions()も参照してください 。
void QGraphicsWidget::insertActions(QAction *before, const QList<QAction *> &actions)
このウィジェットのアクション一覧に、アクション「actions 」を「before 」の前の位置に挿入します。before がnullptr の場合、またはbefore がこのウィジェットで有効なアクションでない場合は、そのアクションを末尾に追加します。
QGraphicsWidget には、各アクションを最大1つずつしか含めることができません。
removeAction()、QMenu 、insertAction()、およびQWidget::insertActions()も参照してください 。
bool QGraphicsWidget::isActiveWindow() const
このウィジェットのウィンドウがアクティブなウィンドウ内にある場合、またはウィジェットにウィンドウはないがアクティブなシーン(つまり、現在フォーカスがあるシーン)内にある場合、true を返します。
アクティブなウィンドウとは、現在入力フォーカスを持っている子ウィジェットを含むウィンドウ、あるいはそれ自体が入力フォーカスを持っているウィンドウのことです。
QGraphicsScene::activeWindow()、QGraphicsScene::setActiveWindow()、およびisActive()も参照してください 。
[override virtual protected] QVariant QGraphicsWidget::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
QGraphicsItem::itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value)を再実装します。
QGraphicsWidget この関数の基底実装を使用して、アイテムの状態変化に関連するイベントを捕捉し、伝達します。このため、サブクラスが基底実装を呼び出すことが非常に重要です。
change は変更の種類を指定し、value は新しい値です。
たとえば、QGraphicsWidget は、ItemVisibleChange を使用してShow およびHide イベントを配信し、ItemPositionHasChanged を使用してMove イベントを配信し、ItemParentChange を使用してParentChange イベントを配信するとともに、フォーカスチェーンを管理します。
QGraphicsWidget 位置の変更を追跡するために、デフォルトで ItemSendsGeometryChanges フラグを有効にします。
QGraphicsItem::itemChange()も参照してください 。
QGraphicsLayout *QGraphicsWidget::layout() const
このウィジェットのレイアウトを返します。現在、このウィジェットを管理しているレイアウトがない場合は、nullptr を返します。
注: プロパティ layoutのゲッター 関数です。
関連項目: setLayout()。
[virtual protected] void QGraphicsWidget::moveEvent(QGraphicsSceneMoveEvent *event)
このイベントハンドラは、GraphicsSceneMove イベントに対して、ウィジェットが移動した後(つまり、そのローカル位置が変更された後)に呼び出されます。
このイベントは、アイテムがローカルに移動した場合にのみ発生します。setTransform() を呼び出したり、アイテムの祖先要素のいずれかを移動させたりしても、アイテムのローカル位置には影響しません。
このイベントハンドラを再実装することで、ウィジェットが移動したことを検出できます。event に対してQEvent::accept() またはQEvent::ignore() を呼び出しても、何の効果もありません。
「 ItemPositionChange 」および「ItemPositionHasChanged 」も参照してください 。
[override virtual] void QGraphicsWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
QGraphicsItem::paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)を再実装します。
[virtual] void QGraphicsWidget::paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
この仮想関数は、QGraphicsScene によって呼び出され、painter 、option 、およびwidget を使用して、ローカル座標系でウィンドウのフレームを描画します。基底クラスの実装では、現在のスタイルを使用してフレームとタイトルバーを描画します。
QGraphicsWidget のサブクラスでこの関数を再実装することで、ウィジェットのウィンドウフレームを独自に描画することができます。
QGraphicsItem::paint()も参照してください 。
[virtual protected] void QGraphicsWidget::polishEvent()
このイベントは、アイテムが構築された後、シーンを通じて表示されたり、その他の方法でアクセスされたりする前の、ある時点でシーンからアイテムに送信されます。このイベントハンドラを使用すると、アイテムが完全に構築されていることを前提とするウィジェットの最終的な初期化を行うことができます。
基本実装では何も行われません。
QRectF QGraphicsWidget::rect() const
アイテムのローカル矩形を `QRectF` として返します。この関数は、QRectF (QPointF()、size())と同等です。
setGeometry() およびresize()も参照してください 。
void QGraphicsWidget::releaseShortcut(int id)
指定されたid を持つショートカットを、Qtのショートカットシステムから削除します。これにより、そのウィジェットは、そのショートカットのキーシーケンスに関するQEvent::Shortcut イベントを受け取らなくなります(同じキーシーケンスを持つ他のショートカットが存在しない場合)。
警告: Qtのショートカットシステムでは、親ウィジェットが破棄されるとショートカットが自動的に削除されるため、通常はこの関数を使用する必要はありません 。ショートカットの処理には、この低レベルな関数よりも使いやすいQAction やQShortcut を使用することをお勧めします。また、この操作は処理負荷が高い点にも注意してください。
関連項目: grabShortcut()、setShortcutEnabled()、QWidget::releaseShortcut()も参照してください 。
void QGraphicsWidget::removeAction(QAction *action)
このウィジェットのアクション一覧から、アクション「action 」を削除します。
insertAction()、actions()、およびQWidget::removeAction()も参照してください 。
void QGraphicsWidget::resize(qreal w, qreal h)
指定されたwidth (w )およびheight (h )を使用して、resizeを構築します。この便利関数は、resize(QSizeF(w, h))を呼び出すのと同じです。
注: size プロパティのセッター 関数です。
これはオーバーロードされた関数です。
setGeometry() およびsetTransform()も参照してください 。
[virtual protected] void QGraphicsWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
GraphicsSceneResize イベント用のこのイベントハンドラは、ウィジェットのサイズ変更(つまり、そのローカルサイズが変更された)後に配信されます。event には、以前のサイズと新しいサイズの両方が含まれています。
このイベントは、ウィジェットがローカルにサイズ変更された場合にのみ発生します。ウィジェット、その祖先、またはビューに対して `setTransform()` を呼び出しても、ウィジェットのローカルサイズには影響しません。
このイベントハンドラを再実装することで、ウィジェットのサイズが変更されたことを検出できます。event に対してQEvent::accept() またはQEvent::ignore() を呼び出しても、何の効果もありません。
geometry() およびsetGeometry()も参照してください 。
[override virtual protected] bool QGraphicsWidget::sceneEvent(QEvent *event)
QGraphicsItem::sceneEvent(QEvent *event) を再実装します。
QGraphicsWidgetの sceneEvent() の実装は、単にevent をQGraphicsWidget::event() に渡すだけです。ウィジェットのすべてのイベントは、event() または任意の利便性関数で処理できます。QGraphicsWidget のサブクラスでこの関数を再実装する必要はありません。
event が認識され処理された場合はtrue を返し、そうでない場合はfalse を返します。
QGraphicsItem::sceneEvent()も参照してください 。
void QGraphicsWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)
on がtrueの場合、この関数はattribute を有効にします。そうでない場合、attribute は無効になります。
サポートされている属性の一覧およびそれらの用途については、QGraphicsWidget のクラスドキュメントを参照してください。
testAttribute() およびQWidget::setAttribute()も参照してください 。
void QGraphicsWidget::setContentsMargins(QMarginsF margins)
ウィジェットのコンテンツマージンをmargins に設定します。
コンテンツのマージンは、割り当てられたレイアウトによって、サブウィジェットやレイアウトの配置を定義するために使用されます。マージンは、サブウィジェットを自身のジオメトリの一部にのみ制限するウィジェットで特に役立ちます。たとえば、レイアウトが設定されたグループボックスは、サブウィジェットをフレーム内に配置しますが、タイトルの下に配置します。
ウィジェットのコンテンツマージンを変更すると、常にupdate()が呼び出され、割り当てられたレイアウトが自動的に有効化されます。その後、ウィジェットはContentsRectChange イベントを受信します。
getContentsMargins() およびsetGeometry()も参照してください 。
void QGraphicsWidget::setContentsMargins(qreal left, qreal top, qreal right, qreal bottom)
ウィジェットのコンテンツのマージンを、left 、top 、right 、bottom に設定します。
これはオーバーロードされた関数です。
void QGraphicsWidget::setGeometry(qreal x, qreal y, qreal w, qreal h)
この便利関数は、setGeometry(QRectF(x,y,w,h)) を呼び出すのと同じです。
注: プロパティgeometry のセッター 関数です。
geometry() およびresize()も参照してください 。
void QGraphicsWidget::setLayout(QGraphicsLayout *layout)
このウィジェットのレイアウトを「layout 」に設定します。新しいレイアウトが割り当てられる前に、既存のレイアウトマネージャはすべて削除されます。layout が「nullptr 」の場合、ウィジェットはレイアウトを持たない状態になります。既存のサブウィジェットのジオメトリには影響しません。
現在、layout またはそのすべてのサブレイアウトによって管理されているすべてのウィジェットは、自動的にこのアイテムの子として再割り当てされます。その後、レイアウトが無効化され、子ウィジェットのジオメトリは、このアイテムのgeometry() および contentsMargins() に基づいて調整されます。layout によって明示的に管理されていない子ウィジェットは、このウィジェットにレイアウトが割り当てられた後も影響を受けません。
QGraphicsWidget layout の所有権を取得します。
注: プロパティlayout のセッター 関数。
関連項目: layout()、QGraphicsLinearLayout::addItem()、QGraphicsLayout::invalidate()。
void QGraphicsWidget::setShortcutAutoRepeat(int id, bool enabled = true)
enabled が true の場合、指定されたid を持つショートカットの自動リピートが有効になります。そうでない場合は無効になります。
grabShortcut()、releaseShortcut()、およびQWidget::setShortcutAutoRepeat()も参照してください 。
void QGraphicsWidget::setShortcutEnabled(int id, bool enabled = true)
enabled がtrueの場合、指定されたid を持つショートカットが有効になります。そうでない場合は、ショートカットは無効になります。
警告: Qt のショートカットシステムでは、ウィジェットが非表示・表示になったり、フォーカスを取得・喪失したりする際にショートカットが自動的に有効化・無効化されるため、通常はこの関数を使用する必要はありません 。QAction やQShortcut を使用するのが最適です。これらは、この低レベルな関数よりも使いやすいためです。
grabShortcut()、releaseShortcut()、およびQWidget::setShortcutEnabled()も参照してください 。
void QGraphicsWidget::setStyle(QStyle *style)
ウィジェットのスタイルをstyle に設定します。QGraphicsWidget はstyle の所有権を取得しません。
スタイルが割り当てられていない場合、またはstyle がnullptr である場合、ウィジェットはQGraphicsScene::style()を使用します(これが設定されている場合)。それ以外の場合は、ウィジェットはQApplication::style()を使用します。
この関数は、style がnullptr でない場合にQt::WA_SetStyle 属性を設定し、それ以外の場合はその属性をクリアします。
style()も参照してください 。
[static] void QGraphicsWidget::setTabOrder(QGraphicsWidget *first, QGraphicsWidget *second)
「second 」ウィジェットをフォーカスウィジェットのリング内で移動させ、Tabキーが押された際にキーボードフォーカスが「first 」ウィジェットから「second 」ウィジェットへ移動するようにします。
なお、second ウィジェットのタブ順序が変更されるため、チェーンは次のように構成する必要があります:
setTabOrder(a, b); // a to b
setTabOrder(b, c); // a to b to c
setTabOrder(c, d); // a to b to c to d次のようにしてはいけません:
// WRONG
setTabOrder(c, d); // c to d
setTabOrder(a, b); // a to b AND c to d
setTabOrder(b, c); // a to b to c, but not c to dfirst がnullptr である場合、これは、シーンがTabフォーカスを獲得した際(つまり、ユーザーがTabキーを押してフォーカスがシーンに移った際)、second が最初に入力フォーカスを受けるべきウィジェットであることを示します。second がnullptr である場合、これは、シーンがBackTabフォーカスを獲得した際、first が最初にフォーカスを受けるべきウィジェットであることを示します。
デフォルトでは、タブ順序はウィジェットの作成順序に基づいて暗黙的に定義されます。
「 focusPolicy 」 および「ウィジェットにおけるキーボードフォーカス」も参照してください 。
void QGraphicsWidget::setWindowFrameMargins(QMarginsF margins)
ウィジェットのウィンドウ枠の余白をmargins に設定します。デフォルトの枠の余白はスタイルによって指定され、現在のウィンドウフラグによって異なります。
独自のウィンドウ装飾を描画したい場合は、独自のフレームマージンを設定して、デフォルトのマージンを上書きすることができます。
unsetWindowFrameMargins()、getWindowFrameMargins()、およびwindowFrameRect()も参照してください 。
void QGraphicsWidget::setWindowFrameMargins(qreal left, qreal top, qreal right, qreal bottom)
ウィジェットのウィンドウ枠の余白を、left 、top 、right 、bottom に設定します。
これはオーバーロードされた関数です。
[override virtual] QPainterPath QGraphicsWidget::shape() const
QGraphicsItem::shape() const を再実装します。
[virtual protected] void QGraphicsWidget::showEvent(QShowEvent *event)
Show イベント用のこのイベントハンドラは、ウィジェットが表示される前に呼び出されます。たとえば、ウィジェットが以前に非表示になっていた状態で、そのウィジェットまたはその祖先ウィジェットのいずれかに対して setVisible(true) が呼び出された場合などです。
このイベントハンドラを再実装することで、ウィジェットが表示されたタイミングを検知できます。event に対してQEvent::accept() やQEvent::ignore() を呼び出しても、何の効果もありません。
hideEvent()、QWidget::showEvent()、およびItemVisibleChangeも参照してください 。
[override virtual protected] QSizeF QGraphicsWidget::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const
QGraphicsLayoutItem::sizeHint (Qt::SizeHint which, const QSizeF &constraint)const を再実装します。
QStyle *QGraphicsWidget::style() const
ウィジェットのスタイルへのポインタを返します。このウィジェットに明示的に割り当てられたスタイルがない場合、代わりにシーンのスタイルが返されます。また、シーンに割り当てられたスタイルがない場合、この関数は `QApplication::style()` を返します。
setStyle()も参照してください 。
bool QGraphicsWidget::testAttribute(Qt::WidgetAttribute attribute) const
このウィジェットで「attribute 」が有効になっている場合は `true ` を返し、そうでない場合は `false` を返します。
setAttribute()も参照してください 。
[override virtual] int QGraphicsWidget::type() const
QGraphicsItem::type() const を再実装します。
[virtual protected] void QGraphicsWidget::ungrabKeyboardEvent(QEvent *event)
event に対するこのイベントハンドラは、QEvent::UngrabKeyboard イベントの通知を受け取るように、サブクラスで再実装することができます。
ungrabKeyboard() およびungrabMouse()も参照してください 。
[virtual protected] void QGraphicsWidget::ungrabMouseEvent(QEvent *event)
event に対するこのイベントハンドラは、QEvent::UngrabMouse イベントの通知を受け取るように、サブクラスで再実装することができます。
ungrabMouse() およびungrabKeyboard()も参照してください 。
void QGraphicsWidget::unsetWindowFrameMargins()
ウィンドウフレームの余白を、スタイルで指定されたデフォルト値にリセットします。
setWindowFrameMargins()、getWindowFrameMargins()、およびwindowFrameRect()も参照してください 。
[override virtual protected] void QGraphicsWidget::updateGeometry()
QGraphicsLayoutItem::updateGeometry() を再実装します。
このウィジェットが現在レイアウトによって管理されている場合、この関数は、ウィジェットのサイズヒントが変更されたことをレイアウトに通知し、レイアウトはそれに応じてウィジェットのサイズ変更や位置調整を行う必要がある可能性があります。
ウィジェットの `sizeHint()` が変更された場合は、この関数を呼び出してください。
QGraphicsLayout::invalidate()も参照してください 。
[virtual protected] bool QGraphicsWidget::windowFrameEvent(QEvent *event)
このイベントハンドラ(event 用)は、このウィジェットがウィンドウである場合に、ウィンドウフレームに関するイベントを受け取ります。その基本実装では、移動やサイズ変更など、ウィンドウフレームに対する標準的な操作がサポートされています。
QGraphicsWidget のサブクラスでこのハンドラを再実装することで、独自のウィンドウフレーム操作機能を実装することができます。
event が認識され処理された場合はtrue を返し、そうでない場合はfalse を返します。
event()も参照してください 。
QRectF QGraphicsWidget::windowFrameGeometry() const
ウィンドウの枠を含めた、親座標系におけるウィジェットのジオメトリを返します。
windowFrameRect()、getWindowFrameMargins()、およびsetWindowFrameMargins()も参照してください 。
QRectF QGraphicsWidget::windowFrameRect() const
ウィンドウの枠を含めた、ウィジェットのローカル矩形を返します。
windowFrameGeometry()、getWindowFrameMargins()、およびsetWindowFrameMargins()も参照してください 。
[virtual protected] Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt(const QPointF &pos) const
位置pos にあるウィンドウフレームのセクションを返します。この位置にウィンドウフレームのセクションがない場合は、Qt::NoSection を返します。
この関数は、QGraphicsWidget のウィンドウフレーム操作に関する基本実装で使用されます。
ウィンドウのインタラクティブな移動やサイズ変更の方法をカスタマイズしたい場合は、この関数を再実装できます。たとえば、ウィンドウのサイズ変更を右下隅からのみ許可したい場合は、Qt::BottomRightSection を除くすべてのセクションに対してQt::NoSection を返すように、この関数を再実装できます。
windowFrameEvent()、paintWindowFrame()、およびwindowFrameGeometry()も参照してください 。
Qt::WindowType QGraphicsWidget::windowType() const
ウィジェットのウィンドウタイプを返します。
windowFlags()、isWindow()、およびisPanel()も参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.