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

第1回 Qtの歴史~Qt 4.4の新機能

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

最新4.4の新機能

Qt WebKit統合化

WebKitにはHTMLレンダラーKHTMLをベースにしたWebCoreと,JavaScriptインタプリタKJSをベースにしたJavaScriptCoreが含まれています。KHTMLとKJSは供に,Qtをベースに開発されているKDEプロジェクトで開発され,Appleがにそれらに修正と改良を加えてWebKitとしてオープンソース化しました。WebKitは,Apple Mac OS XのSafariブラウザで使用されている他に,AdobeのAIR,GoogleのGoogle ChromeとAndroidなどで使用され,これらの他にもデスクトップとモバイルで数多く使用されています。

WebKitをQtに統合したのがQt WebKitです。Qt WebKitによって本格的なウェブブラウザがQtアプリケーション中で利用できるだけではなく,HTML中でQtのウィジェットも混在して使用でき,WebベースとQt/C++を融合したアプリケーション開発もできます。

図2 Qt WebKitを使用したブラウザサンプルプログラム

図2 Qt WebKitを使用したブラウザサンプルプログラム

Phononマルチメディアフレームワーク

Phononは,KDEプロジェクトで開発されたクロスプラットフォームのマルチメディアAPIで,それをQtで利用できるようにしたのがPhononマルチメディアフレームワークです。

UNIX/LinuxではGStreamer,WindowsではDirectShow,Mac OS XではQuickTimeをそれぞれバックエンドとして,それらがサポートする動画と音楽のコーデックを簡単に再生できるようにします。

Graphics View内のウィジェット使用

Qt4.3までは,Graphics Viewにグラフィカルアイテムのみを置けました。4.4からはウィジェットも置けるようになり,アフィン変換と投影変換を適用して,ウィジェットのスケーリングや回転などができるようになっています。KDE 4でもこのGraphics Viewの機能が効果的に使われています。

図3 Graphics View内のウィジェット

図3 Graphics View内のウィジェット

コンカレントプログラミング

Qtのスレッドクラスはクロスプラットフォームになっていても各プラットフォームのスレッドのラッパーで,プログラミング上は通常のスレッドプログラミングと同じレベルのローレベルなコード記述が必要です。4.4のQtConcurrentでは,マップ/マップリデュースとフィルター/フィルターリデュースに基づく高レベルの並列処理フレームワークが追加され,簡明で安全性のよい並列処理コードを記述できます。

Qt Windows CEプラットフォームの追加

新たにWindows CEがプラットフォームとして追加されました。Visual Studio 2005での開発環境も提供されています。

その他

以上の他に,XQueryとXPath サポート,ヘルプシステムの改善,プリントシステムの改良,そして組込みLinux用Qtでは,ディスプレイハードウェアの追加,DirectFBサポート,ATI ハンドヘルドインターフェースライブラリ対応などの機能改良や追加がされています。

Qt4.5で予定されている機能

Qtは,8ヵ月ごとにマイナーバージョンリリースされます。したがって,次のリリース4.5は2009年1月でしょう。Trolltech LABSの記事からQt4.5に入る予定の機能を見てみましょう。

XML
XSL-Tがサポートされ,XMLを書換えて評価実行できるようになります。対象バージョンはXSL-T2.0です。
GUIスタイル
GNOMEデスクトップ環境でのQtアプリケーション動作時に,CleanlooksがデフォルトのGUIスタイルとして使われるようになります。
X11でのサブピクセルレンダリング
Freetypeのフィルタが利用できるようになります。
Qt Script
データバインディングやスクリプトデバッガなどの機能が追加されます。
Qt/Windows CE
WebKitがすでに使えるレベルになっいてるので取り込まれるでしょう。またPhononも追加され,Windows CEに不足しているコーデックも合わせて追加されます。
オープンドキュメントフォーマット
ODFが扱えるようになります。QTextDocumentでODFを読込み,テキストやHTMLへの変換とPDFでの印刷ができるようになります。
WebKit
Operaと並んでウェブ標準テストAcid3で100点をたたき出したブランチのWebKitにアプデートされるようです。Qt 4.4のWebKitのスコアは41点です。
Qt/Mac OS X
Qt/Mac OS Xの実装にCarbonを使用しています。Carbonが64ビット対応されないため,Cocoaに全面移行しすることで,64ビットQtアプリケーションの開発が可能になります。

まとめ

今回はQtの歴史,そして現在と展望について説明しました。次回は,Qtの基本プログラミングについて説明します。

著者プロフィール

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

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

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