Qt最新事情-QtでWebKitを使ってみよう

第2回 Qtの基本プログラミング~入手方法,シグナルとスロット

この記事を読むのに必要な時間:およそ 3 分

はじめに

前回は,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()は,イベントループの開始です。

著者プロフィール

杉田研治(すぎたけんじ)

1955年生まれ。東京都出身。株式会社SRAに勤務。プログラマ。

仕事のほとんどをMac OS XとKubuntu KDE 4でQtと供に過ごす。

コメント

コメントの記入