「Qtの基礎 - ディスプレイ」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「== 概要 == Qtにおいて、ディスプレイ関連の処理を記載する。<br> <br><br> == ディスプレイの数の取得 == 以下の例では、ディスプ…」) |
(→概要) |
||
1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
Qtにおいて、ディスプレイ関連の処理を記載する。<br> | Qtにおいて、ディスプレイ関連の処理を記載する。<br> | ||
<br><br> | |||
== デスクトップ画面の解像度を取得する == | |||
デスクトップ画面の解像度を取得するには、以下のように記述する。<br> | |||
<syntaxhighlight lang="c++"> | |||
QRect rcScreen = QApplication::desktop()->screenGeometry(); | |||
</syntaxhighlight> | |||
<br><br> | |||
== ウィンドウを常に前面に表示する == | |||
ウインドウまたはダイアログにおいて、常に前面に表示する場合は、以下のように記述する。<br> | |||
<syntaxhighlight lang="c++"> | |||
<ウインドウまたはダイアログのクラス名> Dlg; | |||
Dlg.setWindowFlags(Qt::WindowStaysOnTopHint); | |||
Dlg.show(); | |||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
2021年2月21日 (日) 17:56時点における最新版
概要
Qtにおいて、ディスプレイ関連の処理を記載する。
デスクトップ画面の解像度を取得する
デスクトップ画面の解像度を取得するには、以下のように記述する。
QRect rcScreen = QApplication::desktop()->screenGeometry();
ウィンドウを常に前面に表示する
ウインドウまたはダイアログにおいて、常に前面に表示する場合は、以下のように記述する。
<ウインドウまたはダイアログのクラス名> Dlg;
Dlg.setWindowFlags(Qt::WindowStaysOnTopHint);
Dlg.show();
ディスプレイの数の取得
以下の例では、ディスプレイの数を取得している。
#include <QGuiApplication>
#include <QtDebug>
QList<QScreen *> screenList = QGuiApplication::screens();
qDebug() << u8"ディスプレイ数:" << screenList.size();
物理サイズや有効サイズ(物理サイズからタスクバー等のサイズを減算したもの)も取得できる。
他にも様々な情報が取得できるため、詳細はQtの公式ドキュメントを参照すること。
#include <QGuiApplication>
#include <QScreen>
#include <QtDebug>
QList<QScreen *> screenList = QGuiApplication::screens();
qDebug() << u8"ディスプレイ数:" << screenList.size() << endl;
for(int i = 0; i < screenList.size(); i++)
{
qDebug() << u8"ディスプレイ" << i + 1;
QSize size = screenList.at(i)->size();
qDebug() << u8"物理サイズ:" << size.width() << "x" << size.height();
QSize availableSize = screenList.at(i)->availableSize();
qDebug() << u8"有効サイズ:" << availableSize.width() << "x" << availableSize.height();
}