本特集の目的と目標
Qtは,
Qtの多様な機能の中から4.
今回は,
Qtとは?
Qtはデスクトップと組込み開発向けのクロスプラットフォームアプリケーション開発フレームワークです。直感的でわかりやすいAPIが特徴で,
デスクトップ向けにWindows,
表1 Qtが使われているアプリケーション
分野 | アプリケーション |
---|---|
デスクトップ | KDE |
Google Earth | |
Adobe Photoshop Element | |
Last FM | |
Sun xVM VirualBox | |
Skype | |
Operaのブラウザ | |
QCad | |
組込み | PDA, オープンソースでは, |
ツール/ | Doxygen |
PyQt | |
QtRuby | |
QicsTable | |
KD CHART/ | |
Qwt | |
サードパーティ製品 | Qtアプリケーション自動テストツールSquish/ |
Qtの歴史─それは,公園のベンチから始まった
Qtの開発
1990年。当時のWindows,
1994年。二人はTrolltechを設立し,
1996年。WindowsとUNIX/
2008年。WebKit統合化とPhononマルチメディアフレームワークを中心とする,
Qtのライセンス
Qtは最初のリリースから商用版とオープンソース版の両ライセンスでリリースされました。しかし,
Qtの機能概要
Qtのアーキテクチャ
QtはGUIを中心として,
QtではGUIエミュレーション,
シグナルとスロット
Qtはシグナルとスロットというオブジェクトとオブジェクトを結びつける仕組みを提供しています。この仕組みには以下の特徴があります。
- オブジェクト間のタイプセーフコールバック
型の不一致などによって,実行時にクラッシュすることのないコールバックです。 - 疎結合とカプセル化の実現
イベントを送受信するオブジェクトが,お互いどのようなオブジェクトかを知らなくともいいようにできます。 - オブジェクト間の1対多あるいは多対1の通信
主要機能
Qtはクロスプラットフォームアプリケーション開発フレームワークを標榜しています。これを実現するために多様な機能を持っています。
表2 Qtの主要機能
メインウィンドウアーキテクチャ |
スタイルとスタイルシート |
デスクトップ環境クラス |
イベントクラス |
ドラグ&ドロップ |
Graphics View (グラフィックアイテムのキャンバス) |
SVG (表示と出力) |
モデルビュープログラミング |
アクセシビリティ |
環境設定 |
暗黙的データ共有クラス |
ネットワークモジュール |
D-Bus IPC |
印刷 (PostScript, |
コレクションクラス |
スレッドクラス |
正規表現 (Perlをモデルに) |
入力チェック (入力マスク, |
ヘルプシステム |
Scriptモジュール |
SQLモジュール |
XMLモジュール |
ジェネリックコンテナ |
リソースシステム |
プラグインシステム |
アンドゥリドゥフレームワーク |
ユニットテストフレームワーク |
ActiveQtフレームワーク |
Qt付属開発用ツール
Qtに付属する主な開発用ツールには以下のようなものがあります。
- Designer
(ウィジェット作成GUIツール) - Assistant
(リファレンスマニュアルブラウザ) - Linguist
(メッセージ翻訳GUIツール) - qmake
(クロスプラットフォームビルドシステム)
IDEとの統合
現在のQtは,
- Qt Eclipse Integration
Qt/C++用とQt Jambi用。プラットフォームはWindowsとLinuxで, Mac OS X用は2009/ 1の予定。 - Qt Visual Studio Integration
デスクトップ用とWindows CEクロス開発用。
この他に,