はじめに
前回は,Qtの歴史そして現在と展望について説明しました。今回は,Qtの入手方法について簡単に触れた後,Qt WebKitの説明の前に,Qtの中核機能の中から3回に分けて最も重要なシグナルとスロット,オブジェトモデル,レイアウトマネージメントについて,少し普通とは違った視点で説明します。
入手方法
Qtには,商用版,評価版,オープンソース版のライセンスがあり,オープンソース版の入手方法は2通りあります。
- UNIX/Linuxディストリビューションのパッケージを利用する
Ubuntu/Kubuntu 8.04などのディストリビューションにはパッケージが用意されています。合わせてQt4ベースのKDE 4もパッケージで入手できます。 - Trolltechのサイトからダウンロードする
サポートされるコンパイラ
UNIX/LinuxではGCCやSunCCなどのコンパイラがサポートされます。PhononやWebKitといったQt4.4の新しい機能については,比較的新しいバージョンのコンパイラが必要です。
WindowsではVisual StudioやMinGWなどのコンパイラがサポートされます。最近になってオープンソース版もVisual Studioのコンパイラが使えるようになっています。
Eclipse CDTで,Qtの開発をできるようにしたQt Eclipse IntegrationがTrolltechより配布されています。同様に,商用版のQtでは,Qt Visual Studio Integrationが使えます。
サポートされるコンパイラとプラットフォームの詳しい内容は以下より調べられます。
簡単なQtプログラム
ボタンを表示し,クリックすると終了するQtプログラムは次のようになります。
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QPushButton hello("Hello!");
QObject::connect(&hello, SIGNAL(clicked())
app, SLOT(quit()));
return app.exec();
}
UNIX/Linuxはもちろんですが,WindowsでもQtプログラムのエントリーポイントはmain()関数です。QApplicationのインスタンスはプログラムに1つだけ作り,OSやウィンドウシステムとの初期化を行います。QPushButtonはQtのボタンです。QObject::connect()は,ユーザ操作を処理に結びつけるためにシグナルとスロットの接続をしています。ここでは,ボタンをクリックするとQApplicationクラスのquit()を呼出してイベントループを抜けるようにしています。app.exec()は,イベントループの開始です。

