Qt
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、アプリケーションフレームワークについて説明しています。その他の用法については「QT」をご覧ください。

Qt
Qt designer を用いたGUI設計
開発元トロールテック (1991?2008)
ノキア (2008?2011)
ディジア(英語版) (2012?2014)
Qt Project(英語版) (2011?現在)
The Qt Company(2014?現在)
初版1992年 (32年前) (1992)

最新版6.6.0 - 2023年10月10日 (7か月前) (2023-10-10)[1] [±]
最新評価版6.0 Beta / 2020年10月20日 (3年前) (2020-10-20)[2]
リポジトリ

code.qt.io/cgit/qt/qtbase.git/

プログラミング
言語C++
対応OSFreeBSD組み込みLinuxmacOSWindowsLinux(X11Wayland)、Windows CESymbianMeeGoAmiga OSAndroidiOS
プラットフォームクロスプラットフォーム
サポート状況開発中
種別アプリケーションフレームワーク
ライセンスQt Commercial License[3]
GPL 2.0 3.0[3]
LGPL 3.0[3]
公式サイトwww.qt.io/jp
テンプレートを表示

Qt(キュート)とは、クロスプラットフォームアプリケーションフレームワークである。The Qt CompanyとQt Project(英語版)によって開発されている。
性能

「キューティー」と発音されることもあるが公式には「キュート」である。GUIツールキットとして広く知られているQtであるが、コンソールツールやサーバソフトウェアのような非GUIプログラムでも広く使用されている。

ライセンスには商用版とオープンソース版があり、現在のオープンソース版のライセンスはLGPLおよびGPLである。商用版を購入するとQt商用ライセンス (Qt Commercial License) でソフトウェアを開発できる。LGPL版は、2009年3月にリリースされたQt 4.5から提供され始めた。これによりQtは営利企業にとってもより使いやすいライブラリとなった。

QtはC++で開発されており、単独のソースコードによりX Window SystemLinuxUNIX等)、WindowsmacOS組み込みシステムといった様々なプラットフォーム上で稼働するアプリケーションの開発が可能である。またコミュニティーにより多言語のバインディングが開発されており、JavaからQtを利用できるようにしたQt Jambi、さらにQtをRubyPythonPerlC#などから利用できるようにしたオープンソースのAPIが存在する。

このように開発が容易であり高速、スタイリッシュなQtはライセンスが多様なこともあり、KDEを始めとするオープンソースのアプリケーションに限らず、商業アプリケーションでの採用例も多く様々な分野で使用されている。

OpenGLSVGXMLといった最新技術にも対応している他、日本語を含む多バイト文字入力フレームワークへも対応している。
オープンソース版

GPLまたはLGPLが適用される。LGPLは、バージョン4.5から適用できる。Windowsや多くのUnix系オペレーティングシステム (OS)、macOS向け、あるいはEmbedded Linux、Windows CE、Symbian(Qt4.6より)向けにパッケージが配布されている。
設計
モジュール

Qt 5のモジュール群の一部を以下に示す[4]
Qt Essentials
Qt Core
GUI向け以外のコアとなるクラスを保持する。
Qt Gui
GUIのメインとなるクラスを保持する。OpenGLを含む。
Qt Multimedia
音楽、動画、ラジオ、カメラなどのマルチメディア機能を実装する。
Qt Multimedia Widgets
マルチメディア機能を実現するウィジェット群。
Qt Network
ネットワークプログラミングを簡単にするためのクラス群。
Qt QML
QMLとJavaScriptに関するクラスを保持している。
Qt Quick
カスタムユーザーインターフェイスを備えた高度に動的なアプリケーションを構築するためのフレームワーク。
Qt Quick Controls
デスクトップ風のユーザーインターフェイスを作るためのQt QuickベースのUIコントロール群。
Qt Quick Dialogs
Qt Quickアプリケーションにシステムダイアログを提供する。
Qt Quick Layouts
ユーザーインターフェイスにQt Quick 2ベースのアイテムを使用するアイテムのレイアウト。
Qt SQL
SQLを使うデータベースのためのクラス群。
Qt Test
Qtアプリケーションとライブラリのユニットテストのためのクラス群。
Qt Widgets
Qt GuiをC++ウィジェットで拡張するためのクラス群。
Qt Add-Ons
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
macOS固有の機能を使うためのAPI。
Qt NFC
NFCハードウェアへのアクセスを提供する。
Qt Positioning
スマートフォンなどで位置情報を提供する。
Qt Print Support
印刷を簡単にするためのクラス群。
Qt Purchasing
Qtアプリケーションのアプリ内課金を可能にする。
Qt Sensors
センサーハードウェアへのアクセスとモーションジェスチャーの認識を提供する。
Qt Serial Port
ハードウェアと仮想シリアルポートへのアクセスを提供する。
Qt SVG
SVGファイルの内容を表示するクラスを保持する。SVG 1.2 Tinyの機能をサポートする。
Qt WebEngine
アプリケーションにウェブコンテンツを埋め込むためのクラスと関数群。
Qt WebView
QMLアプリケーションでウェブコンテンツをプラットフォームのネイティブAPIを使い、アプリケーションに完全なウェブレンダリングエンジンを含むことなく表示する。
Qt Windows Extras
Windows固有の機能を使うためのAPI。
Qt X11 Extras
X11固有の機能を使うためのAPI。
Qt XML
SAXおよびDOMインターフェイスを実装。
ネイティブUI描画APIの使用

かつてQtはプラットフォームのネイティブの見た目をエミュレートしていたため、ときどきエミュレーションが不完全な場合に微妙な不一致が発生することもあったが、最近のバージョンのQtはそれぞれのプラットフォームのネイティブAPIでQtコントロールの描画を行うため、そのような問題に苦しめられることもなくなった[5]
メタオブジェクトコンパイラ


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:45 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef