このページでは

QWindow Class

QWindow クラスは、基盤となるウィンドウシステム上のウィンドウを表します。詳細...

ヘッダー: #include <QWindow>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
継承元:QObject およびQSurface
継承元:

QPaintDeviceWindow、QQuickWindow 、およびQVulkanWindow

パブリック型

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 &region)
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::ExcludeTransients0一時的な親は祖先とはみなされません。
QWindow::IncludeTransients1一時的な親が祖先として扱われます。

enum QWindow::Visibility

この列挙型は、ウィンドウが画面のどの部分を占めているか、あるいは占めるべきかを表します。

定数値説明
QWindow::Windowed2ウィンドウは画面の一部を占有しますが、必ずしも画面全体を占有するわけではありません。この状態は、複数のウィンドウを同時に表示できるウィンドウシステムでのみ発生します。この状態では、WindowFlags が許可しており、かつウィンドウシステムがサポートしている場合、ユーザーが手動でウィンドウを移動したりサイズを変更したりすることが可能です。
QWindow::Minimized3ウィンドウは、ウィンドウシステムが最小化されたウィンドウをどのように扱うかによって、タスクバー、ドック、タスクリスト、またはデスクトップ上のエントリまたはアイコンに縮小されます。
QWindow::Maximized4ウィンドウは画面全体を占めており、タイトルバーは表示されたままです。ほとんどのウィンドウシステムでは、ツールバーの最大化ボタンをクリックすることでこの状態になります。
QWindow::FullScreen5ウィンドウは画面全体を占め、サイズ変更はできず、タイトルバーはありません。複数のウィンドウを同時に表示することをサポートしていない一部のプラットフォームでは、ウィンドウが非表示になっていない場合の通常の表示状態となります。
QWindow::AutomaticVisibility1これは、ウィンドウにデフォルトの表示状態を指定することを意味します。プラットフォームに応じて、フルスクリーンまたはウィンドウ表示のいずれかになります。これはsetVisibility のパラメータとして指定できますが、可視性アクセサからは決して読み戻されることはありません。
QWindow::Hidden0ウィンドウは一切表示されませんが、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 &region)

ウィンドウのマスクを設定します。

マスクは、指定された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.