IT徒然草

IT関係のことを解説したり一人つらつら書いたり

Qtでウィンドウを中央に移動するには

はじめに

スクリーンを中央に移動したいことはよくあります。ただし、画面の中央を取得する関数やメソッドは用意されていないため、自作する必要があります。使うクラスは、QApplication、QDesktopWidgetとQRectクラスです。

screenGeometryを使う。

以下はソースコードです。ヘッダーファイルやソースコードの先頭の方に、クラスをインクルードする文を書いておいてください。

// デスクトップのサイズ
QDesktopWidget * deskwidget = QApplication::desktop();
// geometry取得
QRect deskgeo = deskwidget->screenGeometry();
// 中央に移動するには、(デスクトップサイズ - ウィンドウサイズ)÷2をする
move((deskgeo.width() - width()) / 2, (deskgeo.height() - height()) / 2);

参考

雑記ブログ(仮) [Qt] Widgetを画面中央に移動する

(C)2020 EnjoySoftware All rights reserved.