QWindow Class
QWindow クラスは、基盤となるウィンドウシステム上のウィンドウを表します。詳細...
| ヘッダー: | #include <QWindow> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 継承元: | QObject およびQSurface |
| 継承元: |
パブリック型
| enum | AncestorMode { ExcludeTransients, IncludeTransients } |
| enum | Visibility { Windowed, Minimized, Maximized, FullScreen, AutomaticVisibility, Hidden } |
プロパティ
|
|
パブリック関数
| QWindow(QScreen *targetScreen = nullptr) | |
| QWindow(QWindow *parent) | |
| virtual | ~QWindow() |
| QSize | baseSize() const |
| Qt::ScreenOrientation | contentOrientation() const |
| void | create() |
| QCursor | cursor() const |
| void | destroy() |
| qreal | devicePixelRatio() const |
| QString | filePath() const |
| Qt::WindowFlags | flags() const |
| virtual QObject * | focusObject() const |
| QRect | frameGeometry() const |
| QMargins | frameMargins() const |
| QPoint | framePosition() const |
| QRect | geometry() const |
| int | height() const |
| QIcon | icon() const |
| bool | isActive() const |
| bool | isAncestorOf(const QWindow *child, QWindow::AncestorMode mode = IncludeTransients) const |
| bool | isExposed() const |
| bool | isModal() const |
| bool | isTopLevel() const |
| bool | isVisible() const |
(since 6.0) QPointF | mapFromGlobal(const QPointF &pos) const |
| QPoint | mapFromGlobal(const QPoint &pos) const |
(since 6.0) QPointF | mapToGlobal(const QPointF &pos) const |
| QPoint | mapToGlobal(const QPoint &pos) const |
| QRegion | mask() const |
| int | maximumHeight() const |
| QSize | maximumSize() const |
| int | maximumWidth() const |
| int | minimumHeight() const |
| QSize | minimumSize() const |
| int | minimumWidth() const |
| Qt::WindowModality | modality() const |
| qreal | opacity() const |
| QWindow * | parent(QWindow::AncestorMode mode = ExcludeTransients) const |
| QPoint | position() const |
| void | reportContentOrientationChange(Qt::ScreenOrientation orientation) |
| QSurfaceFormat | requestedFormat() const |
| void | resize(const QSize &newSize) |
| void | resize(int w, int h) |
(since 6.9) QMargins | safeAreaMargins() const |
| QScreen * | screen() const |
| void | setBaseSize(const QSize &size) |
| void | setCursor(const QCursor &cursor) |
| void | setFilePath(const QString &filePath) |
| void | setFlag(Qt::WindowType flag, bool on = true) |
| void | setFlags(Qt::WindowFlags flags) |
| void | setFormat(const QSurfaceFormat &format) |
| void | setFramePosition(const QPoint &point) |
(since 6.12) void | setFramePosition(int x, int y) |
| void | setIcon(const QIcon &icon) |
| bool | setKeyboardGrabEnabled(bool grab) |
| void | setMask(const QRegion ®ion) |
| void | setMaximumSize(const QSize &size) |
| void | setMinimumSize(const QSize &size) |
| void | setModality(Qt::WindowModality modality) |
| bool | setMouseGrabEnabled(bool grab) |
| void | setOpacity(qreal level) |
| void | setParent(QWindow *parent) |
| void | setPosition(const QPoint &pt) |
| void | setPosition(int posx, int posy) |
| void | setScreen(QScreen *newScreen) |
| void | setSizeIncrement(const QSize &size) |
| void | setSurfaceType(QSurface::SurfaceType surfaceType) |
| void | setTransientParent(QWindow *parent) |
| void | setVisibility(QWindow::Visibility v) |
| void | setVulkanInstance(QVulkanInstance *instance) |
| void | setWindowState(Qt::WindowState state) |
| void | setWindowStates(Qt::WindowStates state) |
| QSize | sizeIncrement() const |
| QString | title() const |
| QWindow * | transientParent() const |
| Qt::WindowType | type() const |
| void | unsetCursor() |
| QWindow::Visibility | visibility() const |
| QVulkanInstance * | vulkanInstance() const |
| int | width() const |
| WId | winId() const |
| Qt::WindowState | windowState() const |
| Qt::WindowStates | windowStates() const |
| int | x() const |
| int | y() const |
再実装されたパブリック関数
| virtual QSurfaceFormat | format() const override |
| virtual QSize | size() const override |
| virtual QSurface::SurfaceType | surfaceType() const override |
パブリックスロット
| void | alert(int msec) |
| bool | close() |
| void | hide() |
| void | lower() |
| void | raise() |
| void | requestActivate() |
| void | requestUpdate() |
| void | setGeometry(const QRect &rect) |
| void | setGeometry(int posx, int posy, int w, int h) |
| void | setHeight(int arg) |
| void | setMaximumHeight(int h) |
| void | setMaximumWidth(int w) |
| void | setMinimumHeight(int h) |
| void | setMinimumWidth(int w) |
| void | setTitle(const QString &) |
| void | setVisible(bool visible) |
| void | setWidth(int arg) |
| void | setX(int arg) |
| void | setY(int arg) |
| void | show() |
| void | showFullScreen() |
| void | showMaximized() |
| void | showMinimized() |
| void | showNormal() |
| bool | startSystemMove() |
| bool | startSystemResize(Qt::Edges edges) |
シグナル
| void | activeChanged() |
| void | contentOrientationChanged(Qt::ScreenOrientation orientation) |
| void | flagsChanged(Qt::WindowFlags flags) |
| void | focusObjectChanged(QObject *object) |
| void | heightChanged(int arg) |
| void | maximumHeightChanged(int arg) |
| void | maximumWidthChanged(int arg) |
| void | minimumHeightChanged(int arg) |
| void | minimumWidthChanged(int arg) |
| void | modalityChanged(Qt::WindowModality modality) |
| void | opacityChanged(qreal opacity) |
(since 6.9) void | safeAreaMarginsChanged(QMargins margins) |
| void | screenChanged(QScreen *screen) |
| void | transientParentChanged(QWindow *transientParent) |
| void | visibilityChanged(QWindow::Visibility visibility) |
| void | visibleChanged(bool arg) |
| void | widthChanged(int arg) |
| void | windowStateChanged(Qt::WindowState windowState) |
| void | windowTitleChanged(const QString &title) |
| void | xChanged(int arg) |
| void | yChanged(int arg) |
静的パブリックメンバー
| QWindow * | fromWinId(WId id) |
protected 関数
| virtual void | closeEvent(QCloseEvent*ev) |
| 仮想 void(QCloseEvent *ev) | exposeEvent(QExposeEvent*ev) |
| 仮想関数 void | focusInEvent(QFocusEvent*ev) |
| 仮想 void | focusOutEvent(QFocusEvent*ev) |
| 仮想 void | hideEvent(QHideEvent*ev) |
| 仮想 void | keyPressEvent(QKeyEvent*ev) |
| 仮想 void | keyReleaseEvent(QKeyEvent*ev) |
| 仮想 void | mouseDoubleClickEvent(QMouseEvent*ev) |
| 仮想 void | mouseMoveEvent(QMouseEvent*ev) |
| 仮想 void | mousePressEvent(QMouseEvent*ev) |
| 仮想 void | mouseReleaseEvent(QMouseEvent*ev) |
| 仮想 void | moveEvent(QMoveEvent*ev) |
| 仮想 bool | nativeEvent(const QByteArray&eventType, void*message, qintptr*result) |
(since 6.0) 仮想 void | paintEvent(QPaintEvent*ev) |
| 仮想 void | resizeEvent(QResizeEvent*ev) |
| 仮想 void | showEvent(QShowEvent*ev) |
| 仮想 void | tabletEvent(QTabletEvent*ev) |
| 仮想 void | touchEvent(QTouchEvent*ev) |
| 仮想 void | wheelEvent(QWheelEvent*ev) |
再実装された保護関数
| virtual bool | event(QEvent *ev) override |
詳細な説明
親ウィンドウが指定されたウィンドウは、その親ウィンドウのネイティブの子ウィンドウとなります。
通常、アプリケーションは UI に `QWidget ` または `QQuickView ` を使用し、`QWindow` を直接使用することはありません。とはいえ、依存関係を最小限に抑えたい場合や、OpenGL を直接使用したい場合には、`QBackingStore ` または `QOpenGLContext` を使用して `QWindow` に直接描画することも可能です。「ラスターウィンドウの例」および「OpenGL ウィンドウの例」は、いずれのアプローチを使用して `QWindow` に描画する方法に関する有用な参考例です。
リソース管理
ウィンドウは、場合によっては大量のメモリを使用する可能性があります。一般的な計算式は、幅 × 高さ × 色深度です。また、ウィンドウには、ダブルバッファリングやトリプルバッファリングをサポートするための複数のバッファに加え、深度バッファやステンシルバッファが含まれている場合もあります。ウィンドウのメモリリソースを解放するには、destroy() 関数を呼び出します。
コンテンツの向き
QWindowには、画面に対するウィンドウコンテンツのレイアウトを指定するために使用できるreportContentOrientationChange()が用意されています。コンテンツの向きは、ウィンドウコンテンツがどの向きにあるかについて、ウィンドウシステムへの単なるヒントに過ぎません。これは、ウィンドウのサイズをそのままにしておきながらコンテンツだけを回転させたい場合、特に異なる向き間の回転アニメーションを行う際に役立ちます。 ウィンドウシステムは、この値を使用して、システムポップアップやダイアログのレイアウトを決定する場合があります。
可視性とウィンドウシステムの公開
デフォルトでは、ウィンドウは非表示になっており、表示するにはsetVisible(true)やshow()などを呼び出す必要があります。ウィンドウを再び非表示にするには、setVisible(false)またはhide()を呼び出します。visibleプロパティは、アプリケーションがウィンドウに求める状態を表します。 基盤となるシステムによっては、visible なウィンドウであっても画面上に表示されていない場合があります。たとえば、他の不透明なウィンドウに覆われていたり、画面の物理的な領域の外に移動していたりすることが考えられます。エクスポージャー通知機能を備えたウィンドウシステムでは、isExposed() アクセサが、そのウィンドウを画面上で直接可視であると扱うべきかどうかを指定します。exposeEvent() 関数は、ウィンドウシステムのエクスポージャーの変更などにより、ウィンドウの一部が無効化された際に呼び出されます。この情報をアプリケーションに公開しないウィンドウシステムでは、isExposed() は単にisVisible() と同じ値を返します。
QWindow::Visibility visibility() を通じて取得される値は、visible() と () の機能を組み合わせた便利な API です。windowStates
レンダリング
ウィンドウにコンテンツをレンダリングするために使用できる Qt API は 2 つあります。1 つは、QPainter を使用して、タイプQSurface::RasterSurface のウィンドウにコンテンツをフラッシュするQBackingStore 、もう 1 つは、OpenGL を使用して、タイプQSurface::OpenGLSurface のウィンドウにレンダリングするQOpenGLContext です。
アプリケーションは、isExposed()がtrue を返した時点でレンダリングを開始でき、isExposed()がfalse を返すまでレンダリングを継続できます。isExposed()が変更されたタイミングを把握するには、exposeEvent()を再実装してください。ウィンドウは、最初のエクスポーズイベントの前に必ずリサイズイベントを受け取ります。
初期ジオメトリ
ウィンドウの幅と高さが初期化されていない場合、ウィンドウはプラットフォームウィンドウから妥当なデフォルトのジオメトリを取得します。位置が初期化されていない場合、プラットフォームウィンドウはウィンドウシステムにウィンドウの位置決めを任せます。 たとえば X11 では、ウィンドウマネージャは通常、新しいウィンドウが既存のウィンドウを完全に覆い隠してしまうことを避けるために、何らかのスマートな配置を行います。ただし、setGeometry() は位置とサイズの両方を初期化するため、サイズを固定しつつ位置を自動的に決定させたい場合は、代わりにresize() またはsetWidth() とsetHeight() を呼び出す必要があります。
メンバ型のドキュメント
enum QWindow::AncestorMode
この列挙型は、一時的な親を祖先として扱うかどうかを制御するために使用されます。
| 定数 | 値 | 説明 |
|---|---|---|
QWindow::ExcludeTransients | 0 | 一時的な親は祖先とはみなされません。 |
QWindow::IncludeTransients | 1 | 一時的な親が祖先として扱われます。 |
enum QWindow::Visibility
この列挙型は、ウィンドウが画面のどの部分を占めているか、あるいは占めるべきかを表します。
| 定数 | 値 | 説明 |
|---|---|---|
QWindow::Windowed | 2 | ウィンドウは画面の一部を占有しますが、必ずしも画面全体を占有するわけではありません。この状態は、複数のウィンドウを同時に表示できるウィンドウシステムでのみ発生します。この状態では、WindowFlags が許可しており、かつウィンドウシステムがサポートしている場合、ユーザーが手動でウィンドウを移動したりサイズを変更したりすることが可能です。 |
QWindow::Minimized | 3 | ウィンドウは、ウィンドウシステムが最小化されたウィンドウをどのように扱うかによって、タスクバー、ドック、タスクリスト、またはデスクトップ上のエントリまたはアイコンに縮小されます。 |
QWindow::Maximized | 4 | ウィンドウは画面全体を占めており、タイトルバーは表示されたままです。ほとんどのウィンドウシステムでは、ツールバーの最大化ボタンをクリックすることでこの状態になります。 |
QWindow::FullScreen | 5 | ウィンドウは画面全体を占め、サイズ変更はできず、タイトルバーはありません。複数のウィンドウを同時に表示することをサポートしていない一部のプラットフォームでは、ウィンドウが非表示になっていない場合の通常の表示状態となります。 |
QWindow::AutomaticVisibility | 1 | これは、ウィンドウにデフォルトの表示状態を指定することを意味します。プラットフォームに応じて、フルスクリーンまたはウィンドウ表示のいずれかになります。これはsetVisibility のパラメータとして指定できますが、可視性アクセサからは決して読み戻されることはありません。 |
QWindow::Hidden | 0 | ウィンドウは一切表示されませんが、AutomaticVisibility を設定することで復元可能な潜在的な可視状態が保持されている場合があります。 |
プロパティのドキュメント
[read-only] active : bool
このプロパティは、ウィンドウのアクティブ状態を保持します
アクセス関数:
| bool | isActive() const |
通知シグナル:
| void | activeChanged() |
関連項目: ` requestActivate()`。
contentOrientation : Qt::ScreenOrientation
このプロパティは、ウィンドウの内容の向きを保持します
これは、ウィンドウに関連してポップアップ、ダイアログ、ステータスバーなどの追加コンテンツを表示する必要がある場合に、ウィンドウマネージャーへのヒントとなります。
推奨される向きは `QScreen::orientation()` ですが、アプリケーションはすべての可能な向きをサポートする必要はなく、したがって現在の画面の向きを無視することも可能です。
ウィンドウの向きとコンテンツの向きの差によって、コンテンツをどの程度回転させるかが決まります。QScreen::angleBetween()、QScreen::transformBetween()、およびQScreen::mapBetween() を使用して、必要な変換を計算できます。
デフォルト値はQt::PrimaryOrientation
アクセス関数:
| Qt::ScreenOrientation | contentOrientation() const |
| void | reportContentOrientationChange(Qt::ScreenOrientation orientation) |
通知シグナル:
| void | contentOrientationChanged(Qt::ScreenOrientation orientation) |
flags : Qt::WindowFlags
このプロパティは、ウィンドウのウィンドウフラグを保持します
ウィンドウフラグは、ウィンドウシステムにおけるウィンドウの外観(ダイアログ、ポップアップ、通常のウィンドウのいずれであるか、タイトルバーを表示するかどうかなど)を制御します。
要求されたフラグが設定できなかった場合、実際のウィンドウフラグは setFlags() で設定されたフラグとは異なる場合があります。
アクセス関数:
| Qt::WindowFlags | flags() const |
| void | setFlags(Qt::WindowFlags flags) |
Notifier シグナル:
| void | flagsChanged(Qt::WindowFlags flags) |
関連項目: setFlag()。
height : int
このプロパティは、ウィンドウのジオメトリの高さを保持します
アクセス関数:
| int | height() const |
| void | setHeight(int arg) |
通知シグナル:
| void | heightChanged(int arg) |
maximumHeight : int
このプロパティは、ウィンドウのジオメトリの最大高さを保持します
アクセス関数:
| int | maximumHeight() const |
| void | setMaximumHeight(int h) |
通知シグナル:
| void | maximumHeightChanged(int arg) |
maximumWidth : int
このプロパティは、ウィンドウのジオメトリの最大幅を保持します
アクセス関数:
| int | maximumWidth() const |
| void | setMaximumWidth(int w) |
通知シグナル:
| void | maximumWidthChanged(int arg) |
minimumHeight : int
このプロパティは、ウィンドウのジオメトリの最小高さを保持します
アクセス関数:
| int | minimumHeight() const |
| void | setMinimumHeight(int h) |
通知シグナル:
| void | minimumHeightChanged(int arg) |
minimumWidth : int
このプロパティは、ウィンドウのジオメトリの最小幅を保持します
アクセス関数:
| int | minimumWidth() const |
| void | setMinimumWidth(int w) |
通知シグナル:
| void | minimumWidthChanged(int arg) |
modality : Qt::WindowModality
このプロパティは、ウィンドウのモーダリティを保持します
モーダルウィンドウは、他のウィンドウが入力イベントを受け取るのを妨げます。Qtでは、Qt::WindowModal とQt::ApplicationModal の2種類のモーダリティをサポートしています。
デフォルトでは、このプロパティはQt::NonModal
アクセス関数:
| Qt::WindowModality | modality() const |
| void | setModality(Qt::WindowModality modality) |
通知シグナル:
| void | modalityChanged(Qt::WindowModality modality) |
「Qt::WindowModality」も参照してください 。
opacity : qreal
このプロパティは、ウィンドウシステムにおけるウィンドウの不透明度を保持します。
ウィンドウシステムがウィンドウの不透明度をサポートしている場合、これを使用してウィンドウのフェードイン・フェードアウトを行ったり、半透明にしたりすることができます。
値が 1.0 以上の場合は完全に不透明とみなされ、0.0 以下の場合は完全に透明とみなされます。その間の値は、この 2 つの極端な状態の間でさまざまなレベルの半透明度を表します。
デフォルト値は 1.0 です。
アクセス関数:
| qreal | opacity() const |
| void | setOpacity(qreal level) |
Notifier シグナル:
| void | opacityChanged(qreal opacity) |
title : QString
このプロパティは、ウィンドウシステム内でウィンドウのタイトルを保持します
ウィンドウシステムやウィンドウフラグによっては、ウィンドウのタイトルがウィンドウ装飾のタイトル領域に表示されることがあります。また、タスクスイッチャーなど、他のコンテキストにおいてウィンドウを識別するために、ウィンドウシステムによって使用されることもあります。
アクセス関数:
| QString | title() const |
| void | setTitle(const QString &) |
通知シグナル:
| void | windowTitleChanged(const QString &title) |
関連項目: ` flags()`。
transientParent : QWindow*
このプロパティは、このウィンドウが一時的なポップアップである対象のウィンドウを保持します
これは、このウィンドウが一時的な親ウィンドウに代わって表示されるダイアログまたはポップアップであることを、ウィンドウマネージャに知らせるためのヒントです。
ウィンドウをデフォルトでその一時的なparent の上に中央揃えにするためには、ウィンドウマネージャによっては、適切なQt::WindowType (例:Qt::Dialog )を指定してsetFlags()を呼び出す必要がある場合もあります。
アクセス関数:
| QWindow * | transientParent() const |
| void | setTransientParent(QWindow *parent) |
通知シグナル:
| void | transientParentChanged(QWindow *transientParent) |
parent()も参照してください 。
visibility : Visibility
このプロパティは、ウィンドウの画面占有状態を保持します
Visibility は、ウィンドウがウィンドウシステム上で「通常」、「最小化」、「最大化」、「全画面表示」、または「非表示」のいずれとして表示されるかを指定します。
可視性を `AutomaticVisibility ` に設定すると、ウィンドウにデフォルトの表示状態が与えられます。この状態は、プラットフォームによってはフルスクリーンまたはウィンドウモードのいずれかになります。可視性プロパティを読み取る際は、常に実際の状態が返され、`AutomaticVisibility` が返されることはありません。
デフォルト値は `Hidden` です。
アクセス関数:
| QWindow::Visibility | visibility() const |
| void | setVisibility(QWindow::Visibility v) |
Notifierシグナル:
| void | visibilityChanged(QWindow::Visibility visibility) |
visible : bool
このプロパティは、ウィンドウが表示されているかどうかの状態を保持します
このプロパティは、ウィンドウシステムにおけるウィンドウの表示状態を制御します。
デフォルトでは、ウィンドウは表示されていません。表示するには、setVisible(true) やshow() などの関数を呼び出す必要があります。
注: ウィンドウを非表示にしても 、ウィンドウシステムからウィンドウが削除されるわけではなく、単に非表示になるだけです。 フルスクリーンアプリケーションに専用のデスクトップを割り当てるウィンドウシステム(macOSなど)では、フルスクリーンウィンドウを非表示にしてもそのデスクトップは削除されず、空白のままになります。同じアプリケーションの別のウィンドウがフルスクリーンで表示されると、そのデスクトップを埋めることになります。ウィンドウをウィンドウシステムから完全に削除するには、QWindow::close を使用してください。
アクセス関数:
| bool | isVisible() const |
| void | setVisible(bool visible) |
Notifierシグナル:
| void | visibleChanged(bool arg) |
show()も参照してください 。
width : int
このプロパティには、ウィンドウのジオメトリの幅が格納されます
アクセス関数:
| int | width() const |
| void | setWidth(int arg) |
通知シグナル:
| void | widthChanged(int arg) |
x : int
このプロパティは、ウィンドウのジオメトリのx座標を保持します
アクセス関数:
| int | x() const |
| void | setX(int arg) |
通知シグナル:
| void | xChanged(int arg) |
y : int
このプロパティは、ウィンドウのジオメトリの y 座標を保持します
アクセス関数:
| int | y() const |
| void | setY(int arg) |
通知シグナル:
| void | yChanged(int arg) |
メンバ関数のドキュメント
[explicit] QWindow::QWindow(QScreen *targetScreen = nullptr)
targetScreen 上でトップレベルウィンドウを作成します。
setVisible(true)、show() などの呼び出しが行われるまで、ウィンドウは表示されません。
setScreen()も参照してください 。
[explicit] QWindow::QWindow(QWindow *parent)
指定されたparent ウィンドウの子としてウィンドウを作成します。
このウィンドウは親ウィンドウ内に埋め込まれ、座標は親ウィンドウを基準とします。
画面は親ウィンドウから継承されます。
setParent()も参照してください 。
[virtual noexcept] QWindow::~QWindow()
ウィンドウを閉じます。
[slot] void QWindow::alert(int msec)
msec ミリ秒間、アラートを表示します。msec が0 (デフォルト)の場合、ウィンドウが再びアクティブになるまでアラートは無限に表示され続けます。この関数は、アクティブなウィンドウには効果ありません。
アラート状態では、ウィンドウは、タスクバーのエントリを点滅させたりバウンスさせたりするなどして、注意を喚起します。
QSize QWindow::baseSize() const
ウィンドウの基本サイズを返します。
setBaseSize()も参照してください 。
[slot] bool QWindow::close()
ウィンドウを閉じる。
これによりウィンドウが閉じられ、実質的に `destroy()` が呼び出され、場合によってはアプリケーションが終了します。成功した場合は `true ` を返し、親ウィンドウが存在する場合は `false` を返します(その場合は、代わりに最上位のウィンドウを閉じる必要があります)。
destroy()、QGuiApplication::quitOnLastWindowClosed()、およびcloseEvent()も参照してください 。
[virtual protected] void QWindow::closeEvent(QCloseEvent *ev)
閉じるイベントを処理するには、これをオーバーライドしてください(ev )。
この関数は、ウィンドウの閉じ要求があった際に呼び出されます。ウィンドウが閉じられるのを防ぎたい場合は、イベント発生時にQEvent::ignore() を呼び出してください。
close()も参照してください 。
void QWindow::create()
ウィンドウに関連付けられたプラットフォームリソースを割り当てます。
この時点で、setFormat() を使用して設定されたサーフェス形式が、実際のネイティブサーフェスとして解決されます。ただし、setVisible() が呼び出されるまでは、ウィンドウは非表示のままとなります。
通常、この関数を直接呼び出す必要はありません。show()、setVisible()、winId()、およびプラットフォームリソースへのアクセスを必要とするその他の関数によって、暗黙的に呼び出されるためです。
必要に応じて、destroy() を呼び出してプラットフォームリソースを解放してください。
destroy()も参照してください 。
QCursor QWindow::cursor() const
このウィンドウのカーソル形状
setCursor() およびunsetCursor()も参照してください 。
void QWindow::destroy()
このウィンドウに関連付けられているネイティブプラットフォームのリソースを解放します。
create()も参照してください 。
qreal QWindow::devicePixelRatio() const
ウィンドウの物理ピクセルとデバイス非依存ピクセルの比率を返します。この値は、ウィンドウが表示されている画面によって異なり、ウィンドウが移動すると変化する場合があります。
QWindow インスタンスは、デバイスピクセル比が変更された際に、QEvent::DevicePixelRatioChange 型のイベントを受け取ります。
一般的な値として、通常のディスプレイでは 1.0、Apple の「Retina」ディスプレイでは 2.0 となります。
注: プラットフォームウィンドウによって裏付けられていないウィンドウ(つまり、create() が呼び出されていないウィンドウ)の場合 、この関数は関連付けられたQScreen のデバイス・ピクセル比にフォールバックします。
QScreen::devicePixelRatio() およびQEvent::DevicePixelRatioChangeも参照してください 。
[override virtual protected] bool QWindow::event(QEvent *ev)
QObject::event(QEvent *e) を再実装します。
ウィンドウに送信されるイベント(ev )を処理するには、この関数をオーバーライドしてください。イベントが認識され、処理された場合は、true を返してください。
マウスイベント、キーイベント、サイズ変更イベントなどを通常通りディスパッチさせたい場合は、基底クラスのバージョンを呼び出すことを忘れないでください。
[virtual protected] void QWindow::exposeEvent(QExposeEvent *ev)
expose イベント (ev) は、ウィンドウが非表示状態と表示状態の間で状態が切り替わった際に、ウィンドウシステムによって送信されます。
露出状態のウィンドウは、ユーザーに見える可能性があります。ウィンドウが画面外へ移動したり、別のウィンドウによって完全に隠されたり、最小化されたりした場合などには、この関数が呼び出され、isExposed() の値が false に変わる可能性があります。このイベントを使用することで、アニメーションなどの処理負荷の高い操作を、ウィンドウが露出しているときにのみ実行するように制限することができます。
このイベントをペイント処理に使用してはなりません。ペイントを処理するには、代わりにpaintEvent() を実装してください。
ウィンドウが初めて表示される際、エクスポーズイベントの前に必ずリサイズイベントが送信されます。
paintEvent() およびisExposed()も参照してください 。
QString QWindow::filePath() const
このウィンドウが表しているファイル名。
setFilePath()も参照してください 。
[virtual protected] void QWindow::focusInEvent(QFocusEvent *ev)
イベント(ev )でのフォーカス処理を行うには、これをオーバーライドしてください。
イベント内のフォーカスは、ウィンドウがキーボードのフォーカスを受け取ったときに送信されます。
focusOutEvent()も参照してください 。
[virtual] QObject *QWindow::focusObject() const
キーイベントなど、フォーカスが紐付けられたイベントの最終的な受信者となるQObject を返します。
[signal] void QWindow::focusObjectChanged(QObject *object)
このシグナルは、フォーカスに関連付けられたイベントの最終的な受信者が `object` に変更されたときに発火します。
focusObject()も参照してください 。
[virtual protected] void QWindow::focusOutEvent(QFocusEvent *ev)
フォーカスアウトイベント(ev )を処理するには、これをオーバーライドしてください。
フォーカスアウトイベントは、ウィンドウがキーボードのフォーカスを失ったときに送信されます。
focusInEvent()も参照してください 。
[override virtual] QSurfaceFormat QWindow::format() const
QSurface::format() const を再実装します。
このウィンドウの実際のフォーマットを返します。
ウィンドウの作成後、この関数はウィンドウの実際のサーフェス形式を返します。プラットフォームが要求された形式を満たせなかった場合、この形式は要求された形式とは異なる可能性があります。また、要求された形式のスーパーセットとなる場合もあります。例えば、特定のバッファサイズが要求されたサイズよりも大きくなる場合があります。
注: プラットフォームによっては 、このサーフェス形式の特定の値に、要求された値、つまりsetFormat() に渡された値が依然として含まれている場合があります。典型的な例としては、OpenGL バージョン、プロファイル、およびオプションが挙げられます。これらはコンテキスト固有のものであり、1 つのウィンドウがその存続期間中に複数のコンテキストとともに使用される可能性があるため、create() の実行中に更新されない場合があります。 そのような値を照会するには、代わりにQOpenGLContext のformat()を使用してください。
setFormat()、create()、requestedFormat()、およびQOpenGLContext::format()も参照してください 。
QRect QWindow::frameGeometry() const
ウィンドウのフレームを含む、ウィンドウのジオメトリを返します。
このジオメトリは、その画面の `virtualGeometry()` に対する相対的なものです。
geometry() およびframeMargins()も参照してください 。
QMargins QWindow::frameMargins() const
ウィンドウを取り囲むウィンドウフレームの余白を返します。
geometry() およびframeGeometry()も参照してください 。
QPoint QWindow::framePosition() const
ウィンドウの左上位置(ウィンドウ枠を含む)を返します。
これは、frameGeometry().topLeft() と同じ値を返します。
setFramePosition()、geometry()、およびframeGeometry()も参照してください 。
[static] QWindow *QWindow::fromWinId(WId id)
別のプロセスによって、あるいはQtの下位にあるネイティブライブラリを使用して作成されたウィンドウのローカル表現を作成します。
ネイティブウィンドウへのハンドル `id ` が与えられると、このメソッドは `QWindow ` オブジェクトを作成します。このオブジェクトは、setParent() やsetTransientParent() といったメソッドを呼び出す際に、そのウィンドウを表すために使用できます。
これを、対応しているプラットフォームでは、QWindow をネイティブウィンドウ内に埋め込んだり、ネイティブウィンドウをQWindow 内に埋め込んだりするために使用できます。
プラットフォームプラグインで外部ウィンドウがサポートされていない場合、またはネイティブウィンドウの埋め込みに失敗した場合、この関数は `nullptr` を返します。
注: 返される` QWindow ` は 、基となるネイティブウィンドウの操作(親ウィンドウの変更を除く)や、ネイティブウィンドウの状態変化の監視には使用しないでください。この種の操作に対するサポートは偶発的なものであり、プラットフォームに大きく依存し、テストもされていません。
setParent()も参照してください 。
QRect QWindow::geometry() const
ウィンドウのフレームを除いたウィンドウのジオメトリを返します。
このジオメトリは、その画面の `virtualGeometry()` に対するものです。
setGeometry()、frameMargins()、およびframeGeometry()も参照してください 。
[slot] void QWindow::hide()
ウィンドウを非表示にします。
setVisible(false) を呼び出すのと同じです。
show() およびsetVisible()も参照してください 。
[virtual protected] void QWindow::hideEvent(QHideEvent *ev)
非表示イベント(ev )を処理するには、この関数をオーバーライドしてください。
この関数は、ウィンドウがウィンドウシステムに対して非表示を要求した際に呼び出されます。
QIcon QWindow::icon() const
ウィンドウシステムのウィンドウアイコンを返します
setIcon()も参照してください 。
bool QWindow::isActive() const
ウィンドウがアクティブな場合、true を返します。
これは、入力フォーカスを持っているウィンドウだけでなく、フォーカスウィンドウと同じ親/一時的な親のチェーンにあるウィンドウにも当てはまります。
通常、アクティブなウィンドウは、スタイルの観点からもアクティブであるように見えるはずです。
現在フォーカスを持っているウィンドウを取得するには、QGuiApplication::focusWindow() を使用します。
注: プロパティ `active`のゲッター 関数。
requestActivate()も参照してください 。
bool QWindow::isAncestorOf(const QWindow *child, QWindow::AncestorMode mode = IncludeTransients) const
ウィンドウが指定されたchild の先祖である場合、true を返します。mode がIncludeTransients の場合、一時的な親も先祖として扱われます。
bool QWindow::isExposed() const
このウィンドウがウィンドウシステム上で表示されているかどうかを返します。
ウィンドウがエクスポーズされていない場合、アプリケーションによって表示されているものの、ウィンドウシステム上にはまだ表示されていない状態であるため、アプリケーションはアニメーションやその他のグラフィカルな処理を最小限に抑える必要があります。
この値が変更されるたびに、exposeEvent() が送信されます。
exposeEvent()も参照してください 。
bool QWindow::isModal() const
そのウィンドウがモーダルかどうかを返します。
モーダルウィンドウは、他のウィンドウが入力を受け付けないようにします。
QWindow::modalityも参照してください 。
bool QWindow::isTopLevel() const
そのウィンドウがトップレベル、つまり親ウィンドウを持たないかどうかを返します。
[virtual protected] void QWindow::keyPressEvent(QKeyEvent *ev)
キー押下イベントを処理するには、これをオーバーライドしてください(ev )。
keyReleaseEvent()も参照してください 。
[virtual protected] void QWindow::keyReleaseEvent(QKeyEvent *ev)
キーの離しイベントを処理するには、これをオーバーライドしてください(ev )。
keyPressEvent()も参照してください 。
[slot] void QWindow::lower()
ウィンドウ管理システムにおいて、そのウィンドウを下に下げる。
そのウィンドウを、他のウィンドウの下に表示されるように下へ移動させるよう要求します。
[since 6.0] QPointF QWindow::mapFromGlobal(const QPointF &pos) const
グローバル画面座標 `pos ` をウィンドウ座標に変換します。
この関数は Qt 6.0 で導入されました。
mapToGlobal()も参照してください 。
QPoint QWindow::mapFromGlobal(const QPoint &pos) const
これはオーバーロードされた関数です。
[since 6.0] QPointF QWindow::mapToGlobal(const QPointF &pos) const
ウィンドウ座標 `pos ` をグローバル画面座標に変換します。たとえば、mapToGlobal(QPointF(0,0)) を実行すると、ウィンドウの左上ピクセルのグローバル座標が得られます。
この関数は Qt 6.0 で導入されました。
mapFromGlobal()も参照してください 。
QPoint QWindow::mapToGlobal(const QPoint &pos) const
これはオーバーロードされた関数です。
QRegion QWindow::mask() const
ウィンドウに設定されているマスクを返します。
このマスクは、指定された領域の外側からのマウスやタッチ入力をアプリケーションが受け取りたくないことをウィンドウシステムに伝えるためのヒントです。
setMask()も参照してください 。
QSize QWindow::maximumSize() const
ウィンドウの最大サイズを返します。
setMaximumSize()も参照してください 。
QSize QWindow::minimumSize() const
ウィンドウの最小サイズを返します。
setMinimumSize()も参照してください 。
[signal] void QWindow::modalityChanged(Qt::WindowModality modality)
このシグナルは、QWindow::modality プロパティが `modality` に変更されたときに発火します。
注: プロパティ `modality` に対する通知 シグナルです。
[virtual protected] void QWindow::mouseDoubleClickEvent(QMouseEvent *ev)
マウスのダブルクリックイベントを処理するには、これをオーバーライドしてください(ev )。
mousePressEvent() およびQStyleHints::mouseDoubleClickInterval()も参照してください 。
[virtual protected] void QWindow::mouseMoveEvent(QMouseEvent *ev)
マウスの移動イベントを処理するには、このメソッドを上書きしてください(ev )。
[virtual protected] void QWindow::mousePressEvent(QMouseEvent *ev)
マウスのクリックイベントを処理するには、これをオーバーライドしてください(ev )。
mouseReleaseEvent()も参照してください 。
[virtual protected] void QWindow::mouseReleaseEvent(QMouseEvent *ev)
マウスの離しイベントを処理するには、これをオーバーライドしてください(ev )。
mousePressEvent()も参照してください 。
[virtual protected] void QWindow::moveEvent(QMoveEvent *ev)
ウィンドウの移動イベントを処理するには、これをオーバーライドしてください(ev )。
[virtual protected] bool QWindow::nativeEvent(const QByteArray &eventType, void *message, qintptr *result)
プラットフォーム固有のイベントを処理するには、このメソッドをオーバーライドしてください。eventType 、message 、result が渡されます。
これにより、アプリケーションの移植性が損なわれる可能性があります。
イベントが処理された場合にのみ true を返す必要があります。
[virtual protected, since 6.0] void QWindow::paintEvent(QPaintEvent *ev)
ペイントイベント(ev )は、ウィンドウの特定の領域の再描画が必要な際に、ウィンドウシステムによって送信されます。例えば、ウィンドウが最初に表示されたときや、別のウィンドウが移動してウィンドウの一部が再び表示可能になったときなどが挙げられます。
アプリケーションは、ウィンドウの表示状態にかかわらず、ペイントイベントに応答してウィンドウ内に描画を行うことが期待されます。例えば、ウィンドウがユーザーに表示される準備として、ウィンドウが表示される前にペイントイベントが送信される場合があります。
この関数は Qt 6.0 で導入されました。
exposeEvent()も参照してください 。
QWindow *QWindow::parent(QWindow::AncestorMode mode = ExcludeTransients) const
親ウィンドウが存在する場合、それを返します。
mode がIncludeTransients の場合、親ウィンドウが存在しないときは一時的な親ウィンドウが返されます。
親ウィンドウを持たないウィンドウは、トップレベルウィンドウと呼ばれます。
setParent()も参照してください 。
QPoint QWindow::position() const
ウィンドウの枠を除いた、デスクトップ上のウィンドウの位置を返します
注: すべてのウィンドウシステムが、最上位ウィンドウの位置の設定や取得をサポートしているわけではありません。 そのようなシステムでは、プログラムによるウィンドウの移動が効果を持たない場合があり、現在の位置として `QPoint(0, 0)` のような不自然な値が返されることがあります。
setPosition()も参照してください 。
[slot] void QWindow::raise()
ウィンドウ管理システム内で、そのウィンドウを最前面に表示します。
そのウィンドウを他のウィンドウの上に表示されるように上に移動させるよう要求します。
[slot] void QWindow::requestActivate()
ウィンドウをアクティブ化(つまり、キーボードフォーカスを取得)するよう要求します。
isActive() およびQGuiApplication::focusWindow()も参照してください 。
[slot] void QWindow::requestUpdate()
このウィンドウにQEvent::UpdateRequest イベントを送信するようにスケジュールします。
これが可能なプラットフォームでは、イベントはディスプレイの垂直同期(vsync)と同期して配信されます。それ以外の場合は、最大 5 ms の遅延を経てイベントが配信されます。ウィンドウに関連付けられた画面が 60 Hz を超えるrefresh rate を報告している場合、この間隔は 5 未満の値に縮小されます。 この追加時間は、イベントループにシステムイベントを収集するためのわずかなアイドル時間を確保するためのものであり、環境変数 QT_QPA_UPDATE_IDLE_TIME を使用して上書きすることができます。
アニメーションを駆動する場合、この関数は描画が完了した後、1 回だけ呼び出す必要があります。この関数を複数回呼び出すと、1 つのイベントがウィンドウに配信されることになります。
QWindow のサブクラスは、event() を再実装し、イベントをインターセプトしてアプリケーションのレンダリングコードを呼び出し、その後、基底クラスの実装を呼び出す必要があります。
注:サブクラスによる ` event()`の再実装では 、そのイベントが基底クラスによって処理される必要が絶対にない場合を除き、基底クラスの実装を呼び出す必要があります。例えば、この関数のデフォルトの実装は `QEvent::Timer ` イベントに依存しています。したがって、これらをフィルタリングして除外すると、更新イベントの配信が機能しなくなります。
QSurfaceFormat QWindow::requestedFormat() const
このウィンドウの指定されたサーフェス形式を返します。
要求されたフォーマットがプラットフォームの実装でサポートされていない場合、requestedFormat は実際のウィンドウのフォーマットとは異なります。
これは、setFormat() で設定された値です。
setFormat() およびformat()も参照してください 。
void QWindow::resize(const QSize &newSize)
ウィンドウのサイズ(ウィンドウの枠を除く)をnewSize
size() およびgeometry()も参照してください 。
void QWindow::resize(int w, int h)
QSize ウィンドウのサイズ(ウィンドウ枠を除く)を、幅w と高さh
ウィンドウのサイズを対話的に変更するには、startSystemResize() を参照してください。
size() およびgeometry()も参照してください 。
[virtual protected] void QWindow::resizeEvent(QResizeEvent *ev)
リサイズイベント(ev )を処理するには、これをオーバーライドしてください。
リサイズイベントは、ウィンドウシステム内でウィンドウのサイズが変更されるたびに呼び出されます。これは、ウィンドウシステムが `setGeometry()` または `resize()` リクエストを承認した場合(直接)でも、ユーザーが手動でウィンドウのサイズを変更した場合(間接)でも同様です。
[since 6.9] QMargins QWindow::safeAreaMargins() const
ウィンドウのセーフエリアの余白を返します。
セーフエリアとは、システムUIなどの他のUI要素によって隠されたり、競合したりするリスクなしに、コンテンツを安全に配置できるウィンドウの一部を指します。
マージンはウィンドウの内部ジオメトリを基準としています。つまり、QRect(0, 0,width()、height()) となります。
void PaintDeviceWindow::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QRect rect(0, 0, width(), height());
painter.fillRect(rect, QGradient::SunnyMorning);
painter.fillRect(rect - safeAreaMargins(), QGradient::DustyGrass);
}この関数は Qt 6.9 で導入されました。
geometry() およびsafeAreaMarginsChanged()も参照してください 。
[signal, since 6.9] void QWindow::safeAreaMarginsChanged(QMargins margins)
このシグナルは、セーフエリアのマージンが「margins 」に変更された際に発火します。
この関数は Qt 6.9 で導入されました。
safeAreaMargins()も参照してください 。
QScreen *QWindow::screen() const
ウィンドウが表示されている画面を返します。画面がない場合は null を返します。
子ウィンドウの場合、これは対応する最上位ウィンドウの画面を返します。
setScreen() およびQScreen::virtualSiblings()も参照してください 。
[signal] void QWindow::screenChanged(QScreen *screen)
このシグナルは、ウィンドウのscreen が変更されたときに発生します。これは、setScreen() によって明示的に設定された場合、あるいはウィンドウの画面が削除された際に自動的に設定された場合です。
void QWindow::setBaseSize(const QSize &size)
ウィンドウのベースsize を設定します。
ウィンドウでsizeIncrement()が定義されている場合、この基本サイズを使用して適切なウィンドウサイズが計算されます。
setMinimumSize()、setMaximumSize()、setSizeIncrement()、およびbaseSize()も参照してください 。
void QWindow::setCursor(const QCursor &cursor)
このウィンドウのカーソル形状を設定する
オーバーライドカーソルが設定されていない限り、マウス `cursor ` はこのウィンドウ上にカーソルを置いた際にこの形状をとります。有用な形状の例については、list of predefined cursor objects を参照してください。
カーソルが設定されていない場合、またはunsetCursor()が呼び出された後は、親ウィンドウのカーソルが使用されます。
デフォルトでは、カーソルはQt::ArrowCursor の形状になります。
一部のウィンドウ実装では、マウスがグラブされている場合でも、カーソルがウィンドウの外に出るとカーソルがリセットされます。ウィンドウの外にいるときでも、すべてのウィンドウにカーソルを設定したい場合は、QGuiApplication::setOverrideCursor() の使用を検討してください。
cursor() およびQGuiApplication::setOverrideCursor()も参照してください 。
void QWindow::setFilePath(const QString &filePath)
このウィンドウが表しているファイル名を設定します。
ウィンドウシステムによっては、filePath を使用して、このウィンドウが表すドキュメントのパスをタイルバーに表示する場合があります。
filePath()も参照してください 。
void QWindow::setFlag(Qt::WindowType flag, bool on = true)
on が true の場合、このウィンドウに対してウィンドウフラグflag を設定します。そうでない場合は、このフラグをクリアします。
setFlags()、flags()、およびtype()も参照してください 。
void QWindow::setFormat(const QSurfaceFormat &format)
ウィンドウのサーフェスをformat に設定します。
このフォーマットによって、色深度、アルファ、深度およびステンシルバッファのサイズなどのプロパティが決定されます。例えば、ウィンドウに透明な背景を設定するには(ウィンドウシステムがコンポジティングをサポートしており、かつウィンドウ内の他のコンテンツによって再び不透明にならない場合に限ります):
QSurfaceFormat format;
format.setAlphaBufferSize(8);
window.setFormat(format);サーフェス・フォーマットは、create() 関数内で解決されます。create() が呼び出された後にこの関数を呼び出しても、ネイティブ・サーフェスのフォーマットは再解決されません。
この関数を通じてフォーマットが明示的に設定されていない場合、QSurfaceFormat::defaultFormat() が返すフォーマットが使用されます。つまり、複数のウィンドウがある場合、この関数への個別の呼び出しは、最初のウィンドウを作成する前にQSurfaceFormat::setDefaultFormat() を 1 回呼び出すことで置き換えることができます。
format()、create()、destroy()、およびQSurfaceFormat::setDefaultFormat()も参照してください 。
void QWindow::setFramePosition(const QPoint &point)
ウィンドウの左上位置(point )を、ウィンドウ枠を含めて設定します。
この位置は、その画面の virtualGeometry() に対する相対位置です。
framePosition()、setGeometry()、およびframeGeometry()も参照してください 。
[since 6.12] void QWindow::setFramePosition(int x, int y)
ウィンドウ(ウィンドウ枠を含む)の左上位置を `x` に設定します。y
この位置は、その画面の virtualGeometry() に対する相対位置です。
この関数は Qt 6.12 で導入されました。
setGeometry() およびframeGeometry()も参照してください 。
[slot] void QWindow::setGeometry(const QRect &rect)
ウィンドウのフレームを除くウィンドウのジオメトリを、rect に設定します。
このジオメトリは、その画面の `virtualGeometry()` に基づいています。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
window, qOverload(&QWindow::setGeometry));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
window, [receiver = window](const QRect &rect) { receiver->setGeometry(rect); }); geometry()も参照してください 。
[slot] void QWindow::setGeometry(int posx, int posy, int w, int h)
ウィンドウのフレームを除くウィンドウのジオメトリを、posx 、posy 、w 、およびh から構成される矩形に設定します。
このジオメトリは、その画面の `virtualGeometry()` に基づいています。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
window, qOverload(&QWindow::setGeometry));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
window, [receiver = window](int posx, int posy, int w, int h) { receiver->setGeometry(posx, posy, w, h); }); geometry()も参照してください 。
void QWindow::setIcon(const QIcon &icon)
ウィンドウシステムのicon を設定します
ウィンドウアイコンは、例えばウィンドウの装飾やタスクスイッチャーなどで、ウィンドウシステムによって使用される場合があります。
注: macOSでは 、ウィンドウのタイトルバーアイコンはドキュメントを表すウィンドウ用であり、ファイルパスも設定されている場合にのみ表示されます。
関連項目: icon() およびsetFilePath()。
bool QWindow::setKeyboardGrabEnabled(bool grab)
キーボードグラブを有効にするかどうかを設定します(grab )。
戻り値が true の場合、setKeyboardGrabEnabled(false) が呼び出されるまで、そのウィンドウはすべてのキーイベントを受信し、他のウィンドウはキーイベントを一切受け取らなくなります。マウスイベントには影響しません。マウスイベントもグラブしたい場合は、setMouseGrabEnabled() を使用してください。
setMouseGrabEnabled()も参照してください 。
void QWindow::setMask(const QRegion ®ion)
ウィンドウのマスクを設定します。
マスクは、指定されたregion の範囲外でのマウスやタッチ入力をアプリケーションが受け付けたくないことを、ウィンドウシステムに伝えるヒントとなります。
ウィンドウマネージャは、マスクに含まれていないウィンドウ領域を表示するかどうかを判断するため、マスクに含まれていない領域を透明にするのはアプリケーションの責任となります。
mask()も参照してください 。
void QWindow::setMaximumSize(const QSize &size)
ウィンドウの最大サイズを設定します。
これは、指定されたsize を超えるサイズへの変更を防ぐよう、ウィンドウマネージャに指示するヒントです。
setMinimumSize() およびmaximumSize()も参照してください 。
void QWindow::setMinimumSize(const QSize &size)
ウィンドウの最小サイズを設定します。
これは、指定されたsize を下回るサイズへの変更を防ぐよう、ウィンドウマネージャに指示するヒントです。
setMaximumSize() およびminimumSize()も参照してください 。
bool QWindow::setMouseGrabEnabled(bool grab)
マウスグラブを有効にするかどうかを設定します(grab )。
戻り値が true の場合、setMouseGrabEnabled(false) が呼び出されるまで、そのウィンドウはすべてのマウスイベントを受信します。他のウィンドウはマウスイベントを一切受け取りません。キーボードイベントには影響しません。キーボードイベントもグラブしたい場合は、setKeyboardGrabEnabled() を使用してください。
setKeyboardGrabEnabled()も参照してください 。
void QWindow::setParent(QWindow *parent)
「parent 」ウィンドウを設定します。これにより、ウィンドウシステムがウィンドウのクリッピングを管理するようになり、ウィンドウは「parent 」ウィンドウに合わせてクリップされます。
parent をnullptr に設定すると、そのウィンドウはトップレベルウィンドウになります。
parent がfromWinId() によって作成されたウィンドウである場合、プラットフォームが対応していれば、現在のウィンドウはparent 内に埋め込まれます。
parent()も参照してください 。
void QWindow::setPosition(const QPoint &pt)
デスクトップ上のウィンドウの位置をpt
この位置は、その画面の `virtualGeometry()` に対する相対位置です。
ウィンドウを対話的に移動させる方法については、startSystemMove() を参照してください。ウィンドウを対話的にサイズ変更する方法については、startSystemResize() を参照してください。
注: すべてのウィンドウシステムが、最上位ウィンドウの位置の設定や照会をサポートしているわけではありません。 そのようなシステムでは、プログラムによるウィンドウの移動がまったく効果を発揮しない場合があり、現在の位置としてQPoint(0, 0) のような人工的な値が返されることがあります。
position() およびstartSystemMove()も参照してください 。
void QWindow::setPosition(int posx, int posy)
デスクトップ上のウィンドウの位置をposx に設定します。posy
この位置は、その画面の `virtualGeometry()` に対する相対位置です。
position()も参照してください 。
void QWindow::setScreen(QScreen *newScreen)
ウィンドウを表示する画面を設定します。
ウィンドウがすでに作成されている場合、newScreen 上で再作成されます。
注: 画面が複数の画面からなる仮想デスクトップの一部である場合 、ウィンドウは自動的にnewScreen に移動することはありません。画面を基準にしてウィンドウを配置するには、画面のtopLeft()の位置を使用してください。
この関数は、トップレベルのウィンドウでのみ機能します。
screen() およびQScreen::virtualSiblings()も参照してください 。
void QWindow::setSizeIncrement(const QSize &size)
ウィンドウのサイズ変更の増分(size )を設定します。
ユーザーがウィンドウのサイズを変更すると、サイズはsizeIncrement() のステップ単位で変化します。水平方向はwidth() ピクセル、垂直方向はsizeIncrement().height() ピクセルずつ変化し、baseSize() を基準とします。
デフォルトでは、このプロパティには幅と高さがゼロのサイズが設定されています。
ウィンドウシステムによっては、サイズの増分がサポートされていない場合があります。
sizeIncrement()、setBaseSize()、setMinimumSize()、およびsetMaximumSize()も参照してください 。
void QWindow::setSurfaceType(QSurface::SurfaceType surfaceType)
ウィンドウのsurfaceType を設定します。
ウィンドウが、QBackingStore によるラスタレンダリング用か、QOpenGLContext による OpenGL レンダリング用かを指定します。
surfaceType は、create() 関数でネイティブサーフェスが作成される際に使用されます。ネイティブサーフェスの作成後にこの関数を呼び出す場合は、destroy() およびcreate() を呼び出して、古いネイティブサーフェスを解放し、新しいものを生成する必要があります。
surfaceType()、QBackingStore 、QOpenGLContext 、create()、およびdestroy()も参照してください 。
void QWindow::setVulkanInstance(QVulkanInstance *instance)
このウィンドウを、指定されたVulkanのinstance に関連付けます。
instance このQWindow インスタンスが存在する限り、有効であり続ける必要があります。
vulkanInstance()も参照してください 。
void QWindow::setWindowState(Qt::WindowState state)
ウィンドウの画面占有状態を設定する
ウィンドウstate は、ウィンドウがウィンドウシステム上で最大化、最小化、フルスクリーン、または通常状態のいずれで表示されるかを表します。
列挙型値 `Qt::WindowActive ` は有効なパラメータではありません。
windowState()、showNormal()、showFullScreen()、showMinimized()、showMaximized()、およびsetWindowStates()も参照してください 。
void QWindow::setWindowStates(Qt::WindowStates state)
ウィンドウの画面占有状態を設定する
state ウィンドウは、ウィンドウシステム上でそのウィンドウが最大化、最小化、および/または全画面表示のいずれの状態にあるかを表します。
ウィンドウは、複数の状態を組み合わせて持つことができます。たとえば、ウィンドウが最小化と最大化の両方の状態にある場合、ウィンドウは最小化された状態で表示されますが、タスクバーのエントリをクリックすると、最大化された状態に復元されます。
列挙型値 `Qt::WindowActive ` は設定しないでください。
windowStates()、showNormal()、showFullScreen()、showMinimized()、およびshowMaximized()も参照してください 。
[slot] void QWindow::show()
ウィンドウを表示します。
子ウィンドウの場合、これは `showNormal()` を呼び出すのと同じです。それ以外の場合は、ウィンドウの種類とフラグに対するプラットフォームのデフォルトの挙動に応じて、`showFullScreen()`、`showMaximized()`、または `showNormal()` を呼び出すのと同じになります。
showFullScreen()、showMaximized()、showNormal()、hide()、QStyleHints::showIsFullScreen()、およびflags()も参照してください 。
[virtual protected] void QWindow::showEvent(QShowEvent *ev)
表示イベント(ev )を処理するには、これをオーバーライドしてください。
この関数は、ウィンドウが可視化を要求した際に呼び出されます。
ウィンドウがウィンドウシステムによって正常に表示されると、その直後にリサイズイベントとエクスポーズイベントが発生します。
[slot] void QWindow::showFullScreen()
ウィンドウを全画面表示にします。
setWindowStates(Qt::WindowFullScreen) を呼び出し、続いてsetVisible(true) を呼び出すのと同じです。
プラットフォーム固有の注意事項や制限事項については、QWidget::showFullScreen() のドキュメントを参照してください。
setWindowStates() およびsetVisible()も参照してください 。
[slot] void QWindow::showMaximized()
ウィンドウを最大化表示します。
setWindowStates(Qt::WindowMaximized) を呼び出し、続いてsetVisible(true) を呼び出すのと同じです。
setWindowStates() およびsetVisible()も参照してください 。
[slot] void QWindow::showMinimized()
ウィンドウを最小化された状態で表示します。
setWindowStates(Qt::WindowMinimized) を呼び出し、続いてsetVisible(true) を呼び出すのと同じです。
setWindowStates() およびsetVisible()も参照してください 。
[slot] void QWindow::showNormal()
ウィンドウを通常の状態で表示します。つまり、最大化、最小化、フルスクリーンのいずれの状態でもありません。
setWindowStates(Qt::WindowNoState) を呼び出し、続いてsetVisible(true) を呼び出すのと同じです。
setWindowStates() およびsetVisible()も参照してください 。
[override virtual] QSize QWindow::size() const
QSurface::size() const を再実装します。
ウィンドウのフレームを除いたウィンドウのサイズを返します
resize()も参照してください 。
QSize QWindow::sizeIncrement() const
ウィンドウのサイズ増加量を返します。
setSizeIncrement()も参照してください 。
[slot] bool QWindow::startSystemMove()
システム固有の移動操作を開始する
これを呼び出すと、対応しているプラットフォームにおいて、ウィンドウの対話型移動操作が開始されます。実際の動作はプラットフォームによって異なる場合があります。通常、マウスボタンが離されるまで、ウィンドウはマウスカーソルを追従します。
これをサポートしているプラットフォームでは、setPosition よりもこのウィンドウ移動方法が推奨されます。これは、ウィンドウ移動のルックアンドフィールをよりネイティブに実現できるためです。例えば、ウィンドウマネージャが他のウィンドウにこのウィンドウをスナップさせたり、画面の端までドラッグした際にアニメーションを伴う特別なタイル配置やリサイズ動作を行ったりすることが可能になります。 さらに、Wayland などの一部のプラットフォームでは、setPosition がサポートされていないため、アプリケーションがその位置を制御するにはこの方法しかありません。
操作がシステムでサポートされていた場合、true を返します。
[slot] bool QWindow::startSystemResize(Qt::Edges edges)
システム固有のサイズ変更操作を開始する
これを呼び出すと、対応しているプラットフォームにおいて、ウィンドウの対話型サイズ変更操作が開始されます。実際の動作はプラットフォームによって異なる場合があります。通常、ウィンドウの端がマウスカーソルに追従するようにサイズ変更が行われます。
これをサポートするプラットフォームでは、setGeometry よりもこのウィンドウサイズ変更方法が推奨されます。これは、ウィンドウのサイズ変更においてよりネイティブな操作感を実現できるためです。例えば、ウィンドウマネージャーがこのウィンドウを他のウィンドウにスナップさせたり、画面の端までドラッグした際にアニメーションを伴う特別なサイズ変更動作を行ったりすることが可能です。
edges は、単一の縁、または2つの隣接する縁(角)のいずれかでなければなりません。その他の値は許可されません。
システムがこの操作をサポートしている場合、true を返します。
[override virtual] QSurface::SurfaceType QWindow::surfaceType() const
QSurface::surfaceType() const を再実装します。
ウィンドウのサーフェスタイプを返します。
setSurfaceType()も参照してください 。
[virtual protected] void QWindow::tabletEvent(QTabletEvent *ev)
タブレットの押下、移動、離しイベントを処理するには、これをオーバーライドしてください(ev )。
近接センサーによる進入および退出イベントはウィンドウには送信されず、アプリケーションインスタンスに配信されます。
[virtual protected] void QWindow::touchEvent(QTouchEvent *ev)
タッチイベントを処理するには、このメソッドをオーバーライドしてください(ev )。
Qt::WindowType QWindow::type() const
ウィンドウのタイプを返します。
これは、ウィンドウがダイアログ、ツールチップ、ポップアップ、通常のウィンドウなどであるかどうかを表すウィンドウフラグの一部を返します。
flags() およびsetFlags()も参照してください 。
void QWindow::unsetCursor()
このウィンドウのカーソルをデフォルトの矢印カーソルに戻します。
QVulkanInstance *QWindow::vulkanInstance() const
設定されている場合は、関連するVulkanインスタンスを返します。設定されていない場合は、nullptr を返します。
setVulkanInstance()も参照してください 。
[virtual protected] void QWindow::wheelEvent(QWheelEvent *ev)
マウスホイールやその他のホイールイベントを処理するには、このメソッドをオーバーライドしてください(ev )。
WId QWindow::winId() const
ウィンドウのプラットフォームIDを返します。
注:この関数は 、プラットフォームウィンドウがまだ作成されていない場合、その作成を行います。プラットフォームウィンドウの作成に失敗した場合は、0を返します。
この ID が有用となるプラットフォームでは、返される値は、対応する画面内のウィンドウを一意に表します。
screen()も参照してください 。
Qt::WindowState QWindow::windowState() const
ウィンドウの画面占有状態
setWindowState() およびwindowStates()も参照してください 。
[signal] void QWindow::windowStateChanged(Qt::WindowState windowState)
このシグナルは、windowState が変更されたときに発生します。変更は、setWindowStates() によって明示的に設定された場合、ユーザーがタイトルバーのボタンのいずれかをクリックした際などに自動的に行われる場合などがあります。
Qt::WindowStates QWindow::windowStates() const
ウィンドウの画面占有状態
ウィンドウは、複数の状態が組み合わさった状態になることがあります。たとえば、ウィンドウが最小化と最大化の両方の状態にある場合、ウィンドウは最小化された状態として表示されますが、タスクバーの項目をクリックすると、最大化された状態に復元されます。
setWindowStates()も参照してください 。
© 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.