Qtの基礎 - ディスプレイ

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

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();
 }