Qtの基礎 - ディスプレイ
ナビゲーションに移動
検索に移動
概要
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();
}