はじめに
QtとWebKitを併用したアプリケーションでは,Qt/C++とHTMLドキュメントとの間を取り持つ機能が必要となります。QtからHTML内のデータへのアクセスするためにQWebFrame::evaluateJavaScript() を使用する方法を,前回説明しました。今回は,Webフォームへのアクセス方法やQtのウィジェットをHTML内で使う方法について説明します。また,10月末にTechnology PreviewがリリースされたQt/C++専用のIDEを簡単に紹介します。
Qt Creator
QtをIDEで使うには,Qt Eclipse Integration,Qt Visual Studio Integration,KDevelopという選択肢があります。そして,この10月末に,Windows,Linux,MacOS Xで使えるQt/C++専用のIDE Qt CreatorのTechnology Previewがリリースされました。
Qt Creatorは,Qt/C++で軽快にアプリケーションを作成できるようにすることを目的として作成されていて,Technical Previewでは以下の機能が用意されています。
- 編集機能
- C++用のエディタ
- ファイルとクラスのナビゲーション用ツール
- ヘルプシステムとの統合
- Qt Designerとの統合
- デバッグ機能
- GDBデバッガのグラフィカルフロントエンド
- QStringやQStringListなどのQtのクラスを解釈したオブジェクトの内容表示
- ビルドと実行
- qmakeビルドツールとの統合
- プロジェクト作成
Qt Creatorは開発中のQt 4.5で作成されていますが,Qt 4.4.3のアプリケーションをQt Creatorで扱うこともできます。図1と図2は,その実行画面です。
正式リリース時期は2009年の第一四半期で,将来はリファクタリングツールも計画されいます。また,froglogic社のQt/C++の自動テストツールSquishもQt Softwareとの統合が検討されています。
Webフォームへのアクセス
Webフォームに入力された値をQt/C++から取得するサンプルコードForm ExtractorがQtの配布ソース中のexamples/webkit/formextractorにあり,Qt/C++のメソッドをHTMLから呼び出して入力値を参照しています。
図の左側はHTMLで記述された入力フォームです。右側はQtのウィジェットで,サブミット時にその入力値をWebフォームから取出して表示しています。図3,図4がサブミット前後の画面イメージです。

