「Qtの基礎 - ディスプレイ」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == 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();
 }