Turn On Blog

ぺーぺーSEの色々メモ

【Qt】任意のスクリーンにフルスクリーンでウィンドウを表示する

したいこと

サブディスプレイとか、メインディスプレイとか、任意のディスプレイにフルスクリーンウィンドウを出す。

方法

以下コードでできる。
現在フォーカスしてる画面にフルスクリーン表示する場合。

MyWidget *widget = new MyWidget(this);
widget->setGeometry((QApplication::desktop()->screenGeometry(0)));
widget->showFullScreen();

コードの意味

ウィンドウの位置指定

QWidget Class | Qt Widgets 5.4
geometryプロパテイに四角形をわたしてやれば、ウィンドウの位置が指定できます。

マルチスクリーンについての情報取得

QApplication Class | Qt Widgets 5.4
QApplicationのdesktop()メソッドで得られるのはQDesktopWidget型ポインタです。
これは、マルチスクリーンアプリケーションの位置関係とかそういう情報を取り出すためのクラスです。

任意のスクリーンのジオメトリを取得

QDesktopWidget Class | Qt Widgets 5.4
QDesktopWidgetのscreenGeometryには3種類あるので、すきなものを選びましょう。

フルスクリーンで表示

showFullScreenメソッドを叩けば、フルスクリーンで表示されます。
fullScreenフラグを立ててからshowでもオッケーです。