Qt
「キューティー」と発音されることもあるが公式には「キュート」である。GUIツールキットとして広く知られているQtであるが、コンソールツールやサーバソフトウェアのような非GUIプログラムでも広く使用されている。
ライセンスには商用版とオープンソース版があり、現在のオープンソース版のライセンスはLGPLおよびGPLである。商用版を購入するとQt商用ライセンス (Qt Commercial License) でソフトウェアを開発できる。LGPL版は、2009年3月にリリースされたQt 4.5から提供され始めた。これによりQtは営利企業にとってもより使いやすいライブラリとなった。
QtはC++で開発されており、単独のソースコードによりX Window System(Linux、UNIX等)、Windows、macOS、組み込みシステムといった様々なプラットフォーム上で稼働するアプリケーションの開発が可能である。またコミュニティーにより多言語のバインディングが開発されており、JavaからQtを利用できるようにしたQt Jambi、さらにQtをRuby、Python、Perl、C#などから利用できるようにしたオープンソースのAPIが存在する。
このように開発が容易であり高速、スタイリッシュなQtはライセンスが多様なこともあり、KDEを始めとするオープンソースのアプリケーションに限らず、商業アプリケーションでの採用例も多く様々な分野で使用されている。
OpenGLやSVG、XMLといった最新技術にも対応している他、日本語を含む多バイト文字入力フレームワークへも対応している。
Qtはさまざまな言語用のバインディングを持っており、機能セットの一部または全部を実装している。
Helloフォルダを作る
上のプログラムをHello.cppとしてHelloフォルダに保存する
Helloフォルダで以下を実行 qmake -project qmake make(または gmake や nmake 等。OSおよびコンパイラごとに異なる)
実行する ./release/Hello (Windowsなら release\Hello.exe)
Active Qt
WindowsでActiveXやCOMを使うアプリケーションのためのクラス群。
Qt 3D
2Dや3Dレンダリングをサポートする近リアルタイムシミュレーションシステムのための機能。
Qt Android Extras
Android固有の機能を使うためのAPI。
Qt Bluetooth
Bluetoothハードウェアへのアクセスを提供する。
Qt Canvas 3D
JavaScriptを使ったQt QuickアプリケーションからOpenGL風の3D描画を可能にする。
Qt Concurrent
低レベルな操作なしにマルチスレッドプログラムを書くためのクラス群。
Qt D-Bus
D-Busプロトコルを使用したプロセス間通信のためのクラス群。
Qt Gamepad
Qtアプリケーションのゲームパッドハードウェアのサポートを可能にする。
Qt Graphical Effects
Qt Quick 2で使うためのグラフィカルエフェクト。
Qt Image Formats
Qt Guiでサポートされていない画像フォーマットのためのプラグイン群。
Qt Location
QMLアプリケーションで地図の表示や道案内やコンテンツの配置をする。
Qt Mac Extras