進化するQt-Qt最新事情2009

第1回 Qt Creatorが拓くQtアプリ開発新時代[前編]

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

現バージョンの問題点

Qt Creatorはリリースされてまだ半年です。問題もあり,これから解決されて行くでしょう。数週に渡ってQt Creatorを使っていて,些細なものを含めると数十の問題がありました。いくつか気になるものを挙げてみます。

ドキュメント

フォーム上で右クリックで表示されるコンテキストメニューの「Go toslot...」によって,シグナルに対応するスロットのスケルトンコードを作成できますが,この説明はなく,リファレンスの「Writing a SimpleProgram with Qt Creator」でも直接スロットを記述するように書かれているなど,リファレンスマニュアルが機能に追いついていません。

なお,ドキュメントはQt CreatorをインストールするとQt Creatorで参照できるようになりますが,同じものが以下のURLで参照できます。

Qt Creator Manual
URL:http://doc.trolltech.com/qtcreator-1.2/index.html

コードペースター

[Qt-creator] Code Paster???

上記のメーリングリストでのやり取りのように,現時点では,開発元で内部的にのみ使えるようです。リファレンスにも記述は何もありません。

日本語ローカライズ

.tsファイルがソースコードと一致していないため,英語のままの文言が残っています。

Mac OS Xでは,メニューのショートカットに(F)などが削除されずに残ります。開発元では,QTranslatorをカスタマイズして,アプリケーション側が対応すべきことだという姿勢なので,Qt Creatorでの対応が必要でしょう。アバウトメニューがアプリケーションメニューではなくヘルプにあったり,環境設定(オプション)がアプリケーションメニューではなく,ツールメニューにあるなどスタイルガイドに合っていず,他のアプリケーションと違うので,少し使い勝手がよくありません。この部分は,Qt 3のころには,開発元とやり取りして,正しく動くようにはできたのですが,復活してしまいました。

デバッガ

Mac OS Xでは,以下の行にブレーポイントを設定しても止まらず,次の行を実行してしまいます。

QApplication app(argc, argv);

GDBを直接使った場合や,同じようにGDBを使っているXcodeでは止まります。

Windowsでは,GCC でのデバッグ実行時に,qDebug()で日本語を表示すると文字化けします。MinGWのGDBでは,GDB/MIを介すると文字化けしてしまうので,MinGWのGDBが原因の問題です。

Qt/X11で,ブレーポイントでの停止時に,Qt CreatorのCPU使用率が80%になることがあります。Retrieving data for watch view (1 requestspending)...というメッセージが繰返し表示されるので,GDBと不要なやり取りをしていると思われます。

外部Qt Designer

フォームを外部Qt Designer で開こうとすると,Designerが2つ立ち上がります。これは,簡単に修正できました。

キーバインディング

後述するように,マウス操作を減らしキーボード操作で使えるようにすることを目標にしているのですから,しっかりと練られた既定値となっていた方が,使い易いでしょう。

Mac OS Xでは,メニューのショートカット表記が間違っていたり,定義されているキーストロークのままでは動かないものが多いです。たとえば,⁠メニューバー⁠⁠→⁠編集⁠⁠→⁠拡張」で表示されるメニューの「外部エディタで開く」「Vimスタイルでの編集の切替」は,それぞれAlt-V Alt-VとAlt-V Alt-Iで,これらのショートカットはQt/Mac OS Xの制限のために,最初の1文字のみしかメニューに表示されませんが,ショートカット自体は機能します。しかし,メニュー項目に「(****)」とゴミも表示され,何を意味しているのかと不安になります。

Ctrl+E Ctrl+VやCtrl+E Ctrl+Wなど,Ctrl+Eで始まるショートカットは,Ctrl+AとCtrl+Eで行頭と行末への移動のためか未定義になっていますが,良いキーストロークを考えて定義する方がよいでしょう。

Ctrl+数字がモード切替に割り当てられていますが,Ctrl+数字は,Mac OSX 10.5ではデフォルトでSpacesの画面切替に割り当てられているので,競合しています。他の割当てにすべきでしょう。

フォームエディタのフォーム上で右メニューを表示して,レイアウト項目を選ぶと表示されるメニューで,そのメニュー項目が間違っています。たとえば,Command-1,Command-2などが横と縦のレイアウトに割り当てられていますが,実際には,Command-1やCommand-2は出力ペインの切替に割り当てられています。

この他にもありますが,Mac OS Xでは,キーバインディングがどうなのかを把握し,うまく使えるように定義し直すには,少しばかり時間を使ってしまいました。LinuxでもフォームのプレビューがKubuntu KDE4のKlipperのバインディングCtrl+Alt+Rと重複してしまい,バインディングの調整が必要でした。プレビューの使用度は高いので,QtのサポートプラットフォームとなっているKubuntuならば,このような重複がないようにしておくべきでしょう。

クラッシュ

ソースコード編集画面の横分割後に,フォームを開こうとしたら落ちました。少なくとも2度発生しています。サイドバーでプロジェクトを表示し,右クリックすると暫く固まった後に落ちました。

入手方法とインストール

Qt Creatorを使うには,4通りの方法があります。

Qt SDKを用いる

Downloads ― Qt - A cross-platform application and UI frameworkからダウンロードしてインストーラを実行するだけで,QtとQt Creatorの両方がインストールされて使えるようになります。Windowsでは,MinGWもインストールされ,すべてが揃います。

Qtがインストールされておらず,とりあえず使えるようにしたいという場合には,最も手軽な方法です。

バイナリパッケージを用いる

前述のダウンロードサイトに,Qt Creatorのみのバイナリパッケージがあります。すでにQtが利用可能になっていて,Qt Creatorを利用してみようという場合に向いています。

ソースからビルドする

同じダウンロードサイトからソースを入手できます。Qt がインストールしてあれば,以下の手順でインストールできます。

$ qmake
$ make
$ make docs

Windowsならばmakeの代わりにmingw32-makeかnmakeになります。

公開リポジトリのソースを用いてビルドする

Qt Creator - Qt by Nokia

開発中のものを動かしてみたいという場合によいでしょう。Qtをインストールしておいてから,以下の手順でインストールします。

$ git clone git://gitorious.org/qt-creator/qt-creator.git
$ cd qt-creator
$ qmake
$ make
$ make docs

インストール後,Qt Creatorを起動したところ

インストール後,Qt Creatorを起動したところ

今回はここまで。次回は,実際にQt Creatorを使った開発について解説します。

著者プロフィール

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

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

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