[PR]今日のニュースは
「Infoseek モバイル」


Qtとは?

 Qtはノルウェーのソフトウェア企業 Troll Tech社によって開発・配布されている、 C++言語用のGUI(Graphical User Interface)クラスライブラリです。 Tcl/TkやGtk+が完全フリーなのに対し、 Qtの場合はライセンスに一部制約があります。 QtはUNIX版のほかにWin32版もありますが、 Win32版は商用ライセンスの購入が必要になり(タダの「評価版」も入手できます)、 UNIX版もフリーで使えるのは「商品」を開発するのに使わない場合に限られます。 QtはPC-UNIX上の代表的なデスクトップ環境のひとつ、 KDE(K Desktop Environment) の実装に使われていることで有名ですが、 実際のところQtはKDEとともに発展したという経緯から、 Qtの開発コミュニティとKDEの開発コミュニティは多くの面で重複しているようです。

 QtはC++のライブラリなので、C++の知識がないとまったく手が出せません。 GUI部品を表示するには、「QPushButton」などQt標準のGUI部品のクラスを継承して、 独自の機能を追加したGUI部品のクラス定義をする必要があります。 書き方としては、JavaのAWT/Swing GUIに酷似しているので、 JavaのアプレットやGUIアプリケーションをソースコード手書きで書いたことがある方ならほぼ楽勝です。 ちょっと敷居が高そうに聞こえますが、 C++といっても要はクラスの継承の考え方に慣れる必要があるだけで、 一旦これを把握すると統一的な書き方でいろいろなGUI部品が操作できるようになるので、 とても面白いと思います。 Qtは非常にたくさんの高度なGUI部品が用意されているのが魅力でもあるので、 使いこなせるようになると他のツールキットでは得られない面白さが味わえることでしょう。 ていうか私自身もそうなるべく頑張ろうかなと思っている最中だったりします。 2.0 からはJavaやTcl/Tk同様Unicode対応がなされ、 日本語も扱うことができるようになりました。

 なお、Gtk+と同様、Qtにも、 PerlやPythonから呼び出せる言語バインディングが存在します。 しかしPerlQt(QtのPerlバインディング)はQt 1.2に対応してから開発が止まっており、 実用段階には入っていないようです。 PyQt(QtのPythonバインディング)は、Python 2.2.1とQt 3.0.4という、 いずれも新しい版に積極的に対応しており、 日本語の使用も含め非常に完成度の高い仕上がりになっています。 これはC++じゃなくてPythonからQtを使いたい向きにはありがたい一品です。 もちろんフリーでネット上で入手できます。 PyQtについては、Qtと別に後のページで触れている (というか、最近はPyQtしか使っていない)ので、そちらもご覧くださいね。

セクションのサブメニューに戻る
(first uploaded 2000/02/16 last updated 2002/05/29)