Qtでウインドウを作る

QTライブラリでウインドウを作るのに必要最低限のことをまとめました。

ウインドウの構造

ウインドウを作るにはQMainWindowクラスを使います。このクラスはQWidgetクラスも継承しているのでそのクラスのメンバ関数も利用可です。

QMainWindowは下の図のような構造をしています。

QMainWindowの構造

各領域にはそれぞれの名前がついていて次のような意味を持っています。

このように一部のGUI(メニュバーなど)は表示する領域は決まっており、ボタンなどのその他の部品もCenterWidgetという中央の領域に設置することになっています。

それでは実際にソースを書いて、ウインドウを作ってみましょう。

ウインドウの例

初めにウインドウを作るために必要なQMainWindowクラスを継承したMainWindowクラスを定義します。

そのために以下のファイルのようなMainWindow.cppとそのヘッダファイルのMainWindow_H.hを作成します。

MainWindow_H.h

#ifndef MAIN_WINDOW_H
#define MAIN_WINDOW_H

#include <QtGui>

class MainWindow : public QMainWindow
{
public:
    MainWindow();
};

#endif

MainWindow.cpp

#include "MainWindow_H.h"

MainWindow::MainWindow()
{

}

MainWindow_H.hでは重複してヘッダファイルをインクルードしないようにインクルードガードしています。

では次にMainWindowクラスをmain関数のあるファイル(main.cpp)から呼び出してウインドウを作成します。

main.cpp

#include "MainWindow_H.h"

int main(int argc, char** argv)
{
    QApplication app(argc, argv);

    MainWindow *mainWin = new MainWindow();
    mainWin->setGeometry(0, 10, 200, 300);
        //初期座標と大きさを設定
    mainWin->setWindowTitle("window");
        //ウインドウのタイトル
    mainWin->show();
        
    return app.exec();
}

ここでMainWindowのオブジェクトを作ってウインドウの設定(位置や大きさやタイトル)を行います。

show関数が呼ばれると実際にウインドウが表示されます。

これをビルドして実行してみると...

200x300のウインドウ

200x300の大きさのウインドウが表示されました!

以上が簡単なウインドウの作り方です。お疲れ様でした。

関連項目
プライバシーポリシー