ホームに戻る
 Qt(導入編)

0、はじめに

Qt とはなにか?
一言で言うと、

「GUI アプリを簡単に作れるフレームワーク」

です。
それならば java や C# で良いと思われる。
しかし、VM 上で動くために速度が期待できない。
Qt は C++ で書かれているために高速である。

実行速度が欲しい。
しかし、小規模すぎてわざわざ Win32API を使うのもなぁ・・・
と思ったら Qt を使うのが良いのではないかと思う。

これからの説明は Qt Creater を使う場合の説明になる。
Qt Creater 3.0.0 を使用します。
バージョンによって説明が異なるかもしれません。

1、導入方法

Qt の公式サイトからダウンロードできる。
有料ライセンス版もあるが無料版で十分使える。

VC++ や gcc で開発できるのでまずコンパイラを入れる。
Qt はそれぞれのコンパイラに対応したものを用いる。
Qt をインストールする。
この時点で自動的にコンパイラは検出されるようである。
QtCreater を使うことで開発を行うことができる。

2、開発の実際

GUI の配置はグラフィカルに行うことができる。
GUI の配置は Qt Creater に依存するところが多い。
グラフィカルな操作でクラスを作成し、
クラスの動作についてコードを書き加えるといった感じ。
C++ のクラスの書き方を知らないと開発は難しい。

3、プロジェクトの作り方

Qt Creater を起動する。
「ファイル」→「ファイル/プロジェクトの新規作成」
「アプリケーション」→「Qt Widget Application」
名前と場所を指定。(名前は半角英字が良い。)→次へ
「Kit Selection」→次へ
「クラス情報」名前を変えたければ変える。→次へ
「プロジェクト管理」→次へ

以下のファイルが作成されます。

project.pro
mainwindow.h
main.cpp
mainwindow.cpp
mainwindow.ui

ディフォルトのコードの中身は以下のようです。

// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

// main.cpp
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

// mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

4、「Hello World!」の作り方

mainwindow.ui をダブルクリックで選択します。
左の「Display Widget」より、「Label」を探します。
これを中央上のウィンドウにドラッグアンドドロップします。
右上のオブジェクト一覧に「label」が追加されます。
これは「QLabel」クラスの「label」というオブジェクトです。
「label」という名前は変更可能です。
右下のプロパティで情報を書き換えることもできます。
もちろんコード中で変更することもできます。
「QLabel」の「text」に Hello World! と書きましょう。
フォントの情報などもこのあたりで変更可能です。
左下のボタンで プロジェクト、「Debug」と 「Release」 の変更。
実行、デバグ、ビルドができるようになっています。

実行バイナリを実行するには dll が必要です。
実行すると足らない dll が何か表示されるので、
Qt をインストールした場所から探します。
サイズを気にしないなら全部入れておけば良いと思います。

inserted by FC2 system