QScreen Class

QScreenクラスは、スクリーンのプロパティを照会するために使用されます。詳細...

Header: #include <QScreen>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: QObject

プロパティ

パブリック関数

int angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const
QRect availableGeometry() const
QSize availableSize() const
QRect availableVirtualGeometry() const
QSize availableVirtualSize() const
int depth() const
qreal devicePixelRatio() const
QRect geometry() const
QPixmap grabWindow(WId window = 0, int x = 0, int y = 0, int width = -1, int height = -1)
QPlatformScreen *handle() const
bool isLandscape(Qt::ScreenOrientation o) const
bool isPortrait(Qt::ScreenOrientation o) const
qreal logicalDotsPerInch() const
qreal logicalDotsPerInchX() const
qreal logicalDotsPerInchY() const
QString manufacturer() const
QRect mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const
QString model() const
QString name() const
QNativeInterface *nativeInterface() const
Qt::ScreenOrientation nativeOrientation() const
Qt::ScreenOrientation orientation() const
qreal physicalDotsPerInch() const
qreal physicalDotsPerInchX() const
qreal physicalDotsPerInchY() const
QSizeF physicalSize() const
Qt::ScreenOrientation primaryOrientation() const
qreal refreshRate() const
QString serialNumber() const
QSize size() const
QTransform transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const
QRect virtualGeometry() const
QScreen *virtualSiblingAt(QPoint point)
QList<QScreen *> virtualSiblings() const
QSize virtualSize() const

シグナル

void availableGeometryChanged(const QRect &geometry)
void geometryChanged(const QRect &geometry)
void logicalDotsPerInchChanged(qreal dpi)
void orientationChanged(Qt::ScreenOrientation orientation)
void physicalDotsPerInchChanged(qreal dpi)
void physicalSizeChanged(const QSizeF &size)
void primaryOrientationChanged(Qt::ScreenOrientation orientation)
void refreshRateChanged(qreal refreshRate)
void virtualGeometryChanged(const QRect &rect)

詳細説明

物理的なDPIは、利用可能な場合は実際の物理的なピクセル・サイズに基づいており、印刷プレビューなど、画面に表示されるコンテンツの正確な物理的寸法を知りたい場合に便利です。

論理ドット/インチは、フォントやユーザーインターフェイス要素をポイントサイズからピクセルサイズに変換するために使用され、物理ドット/インチとは異なる場合があります。論理ドット/インチは、デスクトップ環境の設定パネルでユーザーが設定できる場合があり、ユーザーがさまざまなアプリケーションでUIやフォントのサイズをグローバルに制御できるようにします。

注: 物理DPIも論理DPIも、デバイスに依存しないドット数で表されます。デバイス依存の密度を得るには、QScreen::devicePixelRatio ()を掛けます。

プロパティ Documentation

[read-only] availableGeometry : const QRect

このプロパティは、画面の使用可能なジオメトリをピクセル単位で保持します。

利用可能なジオメトリは、タスクバーやシステムメニューなどのウィンドウマネージャ予約領域を除いたジオメトリである。

X11では、これは1つのモニタを持つシステム上で、ウィンドウマネージャが_NET_WORKAREAアトムを設定している場合にのみ、真の利用可能なジオメトリを返すことに注意してください。それ以外の場合、これはgeometry() と等しくなります。これはX11ウィンドウマネージャの仕様上の制限です。

アクセス関数:

QRect availableGeometry() const

Notifierシグナル:

void availableGeometryChanged(const QRect &geometry)

[read-only] availableSize : const QSize

このプロパティは、スクリーンの使用可能サイズをピクセル単位で保持する。

使用可能サイズは、タスクバーやシステムメニューのようなウィンドウマネージャ予約領域を除いたサイズである。

アクセス関数

QSize availableSize() const

アクセス関数:ノーティファイアシグナル

void availableGeometryChanged(const QRect &geometry)

[read-only] availableVirtualGeometry : const QRect

このプロパティは、このスクリーンが属する仮想デスクトップの利用可能なジオメトリを保持します。

このスクリーンに対応する仮想デスクトップの利用可能なジオメトリを返す。

これは、仮想兄弟の個々の利用可能なジオメトリの結合である。

アクセス関数

QRect availableVirtualGeometry() const

通知シグナル:

void virtualGeometryChanged(const QRect &rect)

availableGeometry() およびvirtualSiblings()も参照

[read-only] availableVirtualSize : const QSize

このプロパティは、このスクリーンが属する仮想デスクトップの利用可能なサイズを保持する。

このスクリーンに対応する仮想デスクトップの利用可能なピクセルサイズを返す。

これは、仮想兄弟の個々の利用可能なジオメトリの合計サイズである。

アクセス関数

QSize availableVirtualSize() const

通知シグナル:

void virtualGeometryChanged(const QRect &rect)

availableSize() およびvirtualSiblings()も参照のこと

[read-only] depth : const int

このプロパティは、スクリーンの色深度を保持する。

アクセス関数:

int depth() const

[read-only] devicePixelRatio : const qreal

このプロパティは、画面の物理ピクセルとデバイス非依存ピクセルの比率を保持する。

画面の物理ピクセルとデバイス非依存ピクセルの比率を返す。

一般的な値は、通常のディスプレイでは1.0、"retina "ディスプレイでは2.0である。それ以上の値も可能である。

アクセス関数:

qreal devicePixelRatio() const

ノーティファイア信号:

void physicalDotsPerInchChanged(qreal dpi)

QWindow::devicePixelRatio() およびQGuiApplication::devicePixelRatio()も参照

[read-only] geometry : const QRect

このプロパティは、画面のジオメトリをピクセル単位で保持する。

例として、これはQRect(0, 0, 1280, 1024)、または仮想デスクトップ設定ではQRect(1280, 0, 1280, 1024)を返します。

アクセス関数

QRect geometry() const

Notifier シグナル:

void geometryChanged(const QRect &geometry)

[read-only] logicalDotsPerInch : const qreal

このプロパティは、1インチあたりの論理ドット数またはピクセル数を保持する。

こ の値は、 フ ォ ン ト のポ イ ン ト サ イ ズ を ピ ク セルサ イ ズへ変換す る ために用い る こ と がで き ます。

これは便宜的なプロパティで、logicalDotsPerInchXlogicalDotsPerInchY プロパティの平均です。

アクセス関数:

qreal logicalDotsPerInch() const

Notifier シグナル:

void logicalDotsPerInchChanged(qreal dpi)

logicalDotsPerInchX() およびlogicalDotsPerInchY()も参照

[read-only] logicalDotsPerInchX : const qreal

このプロパティは、水平方向の1インチあたりの論理ドット数またはピクセル数を保持する。

この値は、フォントのポイントサイズをピクセルサイズに変換するために使用される。

アクセス関数:

qreal logicalDotsPerInchX() const

Notifier シグナル:

void logicalDotsPerInchChanged(qreal dpi)

logicalDotsPerInchY()も参照

[read-only] logicalDotsPerInchY : const qreal

このプロパティは、垂直方向の1インチあたりの論理ドット数またはピクセル数を保持する。

この値は、フォントのポイントサイズをピクセルサイズに変換するために使用される。

アクセス関数:

qreal logicalDotsPerInchY() const

Notifier シグナル:

void logicalDotsPerInchChanged(qreal dpi)

logicalDotsPerInchX()も参照のこと

[read-only] manufacturer : const QString

このプロパティは、スクリーンの製造者を保持する。

アクセス関数:

QString manufacturer() const

[read-only] model : const QString

このプロパティは、スクリーンのモデルを保持する。

アクセス関数:

QString model() const

[read-only] name : const QString

このプロパティは、画面を表すユーザが提示可能な文字列を保持する。

例えば、X11では、これらはXRandrスクリーン名に対応し、通常 "VGA1"、"HDMI1 "などである。

注意: ユーザが提示可能な文字列は、ネイティブAPIの結果と一致することは保証されておらず、画面を一意に識別するために使用されるべきではありません。

アクセス関数:

QString name() const

[read-only] nativeOrientation : const Qt::ScreenOrientation

このプロパティは、ネイティブ画面の向きを保持する。

画面のネイティブな向きとは、デバイスのロゴステッカーが右向きに表示される向きのことで、プラットフォームがこの機能をサポートしていない場合は、Qt::PrimaryOrientation

ネイティブの向きはハードウェアの特性であり、変わることはありません。

アクセス関数:

Qt::ScreenOrientation nativeOrientation() const

[read-only] orientation : const Qt::ScreenOrientation

このプロパティは、画面の向きを保持します。

orientation プロパティは、ウィンドウシステムから見た画面の向きを示します。

ほとんどのモバイルデバイスやタブレットコンピュータには加速度センサーが搭載されています。Qt Sensorsモジュールは、このセンサーを直接読み取る機能を提供します。しかし、ウィンドウシステムは、その持ち方に基づいて自動的に画面全体を回転させることがあります。その場合、このorientation プロパティは変更されます。

その場合、このプロパティは変更されます:

Qt::ScreenOrientation orientation() const

通知シグナル:

void orientationChanged(Qt::ScreenOrientation orientation)

primaryOrientation() およびQWindow::contentOrientation()も参照のこと

[read-only] physicalDotsPerInch : const qreal

このプロパティは、1インチあたりの物理的なドット数またはピクセル数を保持する。

この値は、画面表示のピクセル密度を表す。基礎となるシステムが提供する情報によっては、この値が完全に正確でない場合があります。

これは便宜的なプロパティで、physicalDotsPerInchXphysicalDotsPerInchY プロパティの平均値です。

注: 物理的なDPIは、デバイスに依存しないドット数で表されます。QScreen::devicePixelRatio() を乗算すると、デバイス依存の密度が得られます。

アクセス関数:

qreal physicalDotsPerInch() const

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

void physicalDotsPerInchChanged(qreal dpi)

physicalDotsPerInchX() およびphysicalDotsPerInchY()も参照のこと

[read-only] physicalDotsPerInchX : const qreal

このプロパティは、水平方向の1インチあたりの物理的なドット数またはピクセル数を保持する。

この値は、画面のディスプレイ上の実際の水平方向のピクセル密度を表す。基礎となるシステムが提供する情報によっては、値が完全に正確でない場合があります。

注: 物理DPIはデバイスに依存しないドット数で表されます。デバイス依存の密度を得るには、QScreen::devicePixelRatio()を掛けます。

アクセス関数:

qreal physicalDotsPerInchX() const

通知シグナル:

void physicalDotsPerInchChanged(qreal dpi)

physicalDotsPerInchY()も参照

[read-only] physicalDotsPerInchY : const qreal

このプロパティは、垂直方向の1インチあたりの物理ドット数またはピクセル数を保持する。

この値は、画面のディスプレイ上の実際の垂直方向のピクセル密度を表す。基礎となるシステムが提供する情報によっては、値が完全に正確でない場合があります。

注: 物理DPIはデバイスに依存しないドット数で表されます。デバイス依存の密度を得るには、QScreen::devicePixelRatio()を掛けます。

アクセス関数:

qreal physicalDotsPerInchY() const

通知シグナル:

void physicalDotsPerInchChanged(qreal dpi)

physicalDotsPerInchX()も参照

[read-only] physicalSize : const QSizeF

このプロパティは、画面の物理サイズ(ミリメートル単位)を保持します。

物理サイズは、スクリーンのディスプレイの実際の物理的な寸法を表す。

基礎となるシステムが提供する情報によっては、値が完全に正確でない場合があります。

アクセス関数

QSizeF physicalSize() const

通知シグナル:

void physicalSizeChanged(const QSizeF &size)

[read-only] primaryOrientation : const Qt::ScreenOrientation

このプロパティは、プライマリ画面の向きを保持する。

プライマリ画面の向きは、画面ジオメトリの幅が高さ以上である場合はQt::LandscapeOrientation 、そうでない場合はQt::PortraitOrientation 。このプロパティは、画面の向きが変更されたとき(ディスプレイが回転されたときなど)に変更される可能性がある。しかし、この動作はプラットフォーム依存であり、多くの場合アプリケーションマニフェストファイルで指定することができます。

アクセス関数:

Qt::ScreenOrientation primaryOrientation() const

通知シグナル:

void primaryOrientationChanged(Qt::ScreenOrientation orientation)

[read-only] refreshRate : const qreal

このプロパティは、画面のおおよその垂直リフレッシュレートをHzで保持する。

警告 警告:QChronoTimer のようなタイマーを使ってアニメーションを駆動するために、画面のリフレッシュ・レートを使うことは避けてください。代わりにQWindow::requestUpdate() を使用してください。

アクセス関数:

qreal refreshRate() const

通知シグナル:

void refreshRateChanged(qreal refreshRate)

QWindow::requestUpdate()も参照

[read-only] serialNumber : const QString

このプロパティは、スクリーンのシリアル番号を保持する。

アクセス関数:

QString serialNumber() const

[read-only] size : const QSize

このプロパティは、スクリーンのピクセル解像度を保持する。

アクセス関数:

QSize size() const

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

void geometryChanged(const QRect &geometry)

[read-only] virtualGeometry : const QRect

このプロパティは、この画面が属する仮想デスクトップのピクセルジオメトリを保持する。

このスクリーンに対応する仮想デスクトップのピクセルジオメトリを返す。

これは、仮想兄弟の個々のジオメトリの結合である。

アクセス関数

QRect virtualGeometry() const

通知シグナル:

void virtualGeometryChanged(const QRect &rect)

virtualSiblings()も参照

[read-only] virtualSize : const QSize

このプロパティは、この画面が属する仮想デスクトップのピクセルサイズを保持する。

このスクリーンに対応する仮想デスクトップのピクセルサイズを返す。

これは、仮想兄弟の個々のジオメトリを合わせたサイズである。

アクセス関数

QSize virtualSize() const

通知シグナル:

void virtualGeometryChanged(const QRect &rect)

virtualSiblings()も参照

メンバ関数ドキュメント

int QScreen::angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const

rotationa から rotationb への回転角度を計算する便利な関数。

結果は 0, 90, 180, 270 のいずれか。

Qt::PrimaryOrientation はスクリーンの () と解釈されます。primaryOrientation

QPixmap QScreen::grabWindow(WId window = 0, int x = 0, int y = 0, int width = -1, int height = -1)

QRect(x,y,width,height) で制限された与えられたwindow の内容を取り込んで構築された pixmap を作成し、返します。window が 0 の場合、画面全体が取り込まれます。

引数 (x,y) はウィンドウ内のオフセットを指定し、 (width,height) はコピーする領域を指定する。width が負の場合、関数はウィンドウの右境界まですべてをコピーする。height が負の場合、関数はすべてをウィンドウの下部にコピーする。

引数のoffsetとsizeは、デバイスに依存しないピクセル単位で指定します。高DPI画面から取得する場合、返されるpixmapは要求されたサイズよりも大きくなる可能性があります。このような場合はQPixmap::devicePixelRatio() を呼び出して判断する。

ウィンドウシステム識別子 (WId) は、QWidget::winId() 関数を使用して取得できる。QWidget ではなくウィンドウ識別子を使用する根拠は、アプリケーションの一部でないウィンドウやウィンドウシステムフレームなどの取り込みを可能にするためです。

警告 警告: アプリケーションの一部でないウィンドウの取得は、サンドボックス/セキュリティによってアプリケーションが所有していないウィンドウのピクセルを読み取ることができないiOSのようなシステムではサポートされていません。

grabWindow()関数は、ウィンドウからではなくスクリーンからピクセルを取得します。つまり、取得したウィンドウの一部または全体の上に別のウィンドウがある場合、その上にあるウィンドウからもピクセルを取得します。通常、マウスカーソルは取得されません。

X11では、指定されたwindow がルートウィンドウと同じ深さを持たず、他のウィンドウが部分的または全体的に、あなたがつかんだウィンドウを隠している場合、その上にあるウィンドウからピクセルを取得しないことに注意してください。pixmap内の隠された領域の内容は未定義で初期化されません。

Windows Vista以上では、Qt::WA_TranslucentBackground 属性を設定することで作成されるレイヤーウィンドウをつかむことはできません。代わりにデスクトップウィジェットをつかむと動作します。

警告 一般的に、画面外の領域をつかむことは安全ではありません。これは基本的なウィンドウ・システムに依存します。

QPlatformScreen *QScreen::handle() const

プラットフォームのスクリーンハンドルを取得してください。

Qt Platform Abstraction (QPA)も参照してください

bool QScreen::isLandscape(Qt::ScreenOrientation o) const

o がランドスケープまたは反転ランドスケープの場合はtrue を返し、そうでない場合はfalse を返す便利な関数です。

Qt::PrimaryOrientation はスクリーンの () と解釈されます。primaryOrientation

bool QScreen::isPortrait(Qt::ScreenOrientation o) const

o が縦長または逆縦長であればtrue を返し、そうでなければfalse を返す。

Qt::PrimaryOrientation は、画面の () と解釈される。primaryOrientation

QRect QScreen::mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const

rectを2つのスクリーン方向間でマップします。

これは、aQt::PortraitOrientation またはQt::InvertedPortraitOrientation で、bQt::LandscapeOrientation またはQt::InvertedLandscapeOrientation である場合、あるいはその逆の場合、矩形rect の x と y の寸法を反転させます。

Qt::PrimaryOrientation は、スクリーンの () と解釈されます。primaryOrientation

template <typename QNativeInterface> QNativeInterface *QScreen::nativeInterface() const

スクリーンの指定されたタイプのネイティブ・インターフェースを返す。

この関数は、QNativeInterface 名前空間で定義されているQScreen のプラットフォーム固有の機能へのアクセスを提供します:

QNativeInterface::QAndroidScreen

スクリーンのネイティブ・インターフェース

QNativeInterface::QWaylandScreen

Wayland上のスクリーンへのネイティブ・インターフェース

QNativeInterface::QWindowsScreen

スクリーンへのネイティブ・インターフェース

要求されたインターフェースが利用できない場合、nullptr が返されます。

[signal] void QScreen::orientationChanged(Qt::ScreenOrientation orientation)

このシグナルは、orientation を引数として、スクリーンの向きが変わったときに発せられる。

注: orientation プロパティに対するノーティファイア・シグナル。

orientation()も参照

[signal] void QScreen::primaryOrientationChanged(Qt::ScreenOrientation orientation)

このシグナルは、orientation を引数として、スクリーンの主な向きが変化したときに発せられる。

注: プロパティprimaryOrientation に対するノーティファイア・シグナル。

primaryOrientation()も参照

QTransform QScreen::transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const

orientationa で定義される座標系から、 orientationb と target dimensionstarget で定義される座標系にマップする変換を計算するための便利な関数です。

例:a が Qt::Landscape で、b が Qt::Portrait で、targetQRect(0, 0, w, h) の場合、QPoint(0, 0) がQPoint(0, w) にマップされ、QPoint(h, w) がQPoint(0, h) にマップされます。したがって、横座標系QRect(0, 0, h, w)は、縦座標系QRect(0, 0, w, h)に(90度回転して)マッピングされる。

Qt::PrimaryOrientation は画面の () と解釈される。primaryOrientation

QScreen *QScreen::virtualSiblingAt(QPoint point)

QScreen::virtualSiblings() のセット内ではpoint のスクリーンを返し、スクリーンの外にある場合はnullptr を返す。

point は、仮想兄弟の各セットのvirtualGeometry() との関係である。

QList<QScreen *> QScreen::virtualSiblings() const

スクリーンの仮想兄弟を取得する。

仮想兄弟は、同じ仮想デスクトップを共有するスクリーン・インスタンスである。これらは共通の座標系を共有し、ウィンドウは再作成することなく、自由に移動したり配置したりすることができます。

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