Qtソフトウェアの発展の歴史と優位性の特徴
4203 ワード
一、Qtとは何ですか.
Qtは有名なC++アプリケーションフレームワークです.Qtは非常に巨大で、GUIコンポーネントだけではないので、GUIライブラリとは言えません.Qtを使用すると、ある程度は「ワンストップ」のソリューションが得られます.STLを研究する必要はありません.C++を必要としません.XMLを解析したり、データベースに接続したり、ネットワークにアクセスしたりするさまざまなサードパーティライブラリをあちこち探したりする必要はありません.Qt自身がこれらの技術を内蔵しているからです.Qtはプラットフォームにまたがるフレームワークです.プラットフォーム間GUIには、通常、3つの実装ポリシーがあります.
QtはwxWidgetsと同様に、標準的なC++ライブラリでもあります.しかし、その文法はJavaのSwingに似ていて、非常にはっきりしていて、信号溝(signal/slot)メカニズムを使って、プログラムをよく理解させています.これも多くの人がQtを優先している重要な原因です.しかし、いわゆる「成也蕭何、敗也蕭何」.このメカニズムはよく知られていますが、Qtのmocを使用してプログラムを前処理する必要があります.標準のmakeまたはnmakeを使用して正常なコンパイルを行うことができ、信号スロットの呼び出しは通常の関数呼び出しより約1桁遅いです.Qtの界面も原生的な風格ではないが,Qtはstyle機構を用いて原生的な界面を非常に巧みにシミュレートした.また,Qtはデスクトップ環境だけでなく,組み込みプラットフォームや携帯電話プラットフォームでも実行できる.
二、Qtの発展の歴史:
三、Qtの優勢特徴:
Qtが開発したソフトウェアを使用すると、ソースコードを変更することなく、サポートされているプラットフォーム上で同じコードをコンパイルして実行できます.プラットフォームによって自動的にプラットフォーム特有のグラフィックインタフェーススタイルを表現します.長年の発展を経て、Qtは完備したC++グラフィックライブラリを持っているだけでなく、近年のバージョンは次第にデータベース、OpenGLライブラリ、マルチメディアライブラリ、ネットワーク、スクリプトライブラリ、XMLライブラリ、WebKitライブラリなどを集積し、そのコアライブラリもプロセス間通信、マルチスレッドなどのモジュールを加入し、Qtが大規模で複雑なプラットフォーム間アプリケーションを開発する能力を大きく豊かにした.本当の意味でその研究開発の趣旨「Code Less;Create More;Deploy Anywhere.」を実現した.
四、Qtに基づいて開発した製品
Qtは有名なC++アプリケーションフレームワークです.Qtは非常に巨大で、GUIコンポーネントだけではないので、GUIライブラリとは言えません.Qtを使用すると、ある程度は「ワンストップ」のソリューションが得られます.STLを研究する必要はありません.C++を必要としません.XMLを解析したり、データベースに接続したり、ネットワークにアクセスしたりするさまざまなサードパーティライブラリをあちこち探したりする必要はありません.Qt自身がこれらの技術を内蔵しているからです.Qtはプラットフォームにまたがるフレームワークです.プラットフォーム間GUIには、通常、3つの実装ポリシーがあります.
API :API , API, 。 API 。
, Windows Mac OS Button。 Button , Windows ,
; Mac OS , 。 , ,
; , , , API。 Mac OS
, Windows , 。 wxWidgets。 C++ , Qt
。 MFC , 。 , MFC wxWidgets 。
API : ,API “ ” , API 。 API,
。 ,Mac OS , Windows 。 ,
, Windows 。API wine —— Linux Windows 。
Win32 API Linux , Linux wine Windows 。 ,API ,
, 。 DirectX,
。 , , ,SDK 。(
, 。)
GUI : , 、 、 。 , ,
GUI 。GUI , ;
。 , , —— 。
GUI , gtk+( C 。 C 。 ,
—— , , ,
Linux 。gtk+ , , 。),Swing
Qt。
QtはwxWidgetsと同様に、標準的なC++ライブラリでもあります.しかし、その文法はJavaのSwingに似ていて、非常にはっきりしていて、信号溝(signal/slot)メカニズムを使って、プログラムをよく理解させています.これも多くの人がQtを優先している重要な原因です.しかし、いわゆる「成也蕭何、敗也蕭何」.このメカニズムはよく知られていますが、Qtのmocを使用してプログラムを前処理する必要があります.標準のmakeまたはnmakeを使用して正常なコンパイルを行うことができ、信号スロットの呼び出しは通常の関数呼び出しより約1桁遅いです.Qtの界面も原生的な風格ではないが,Qtはstyle機構を用いて原生的な界面を非常に巧みにシミュレートした.また,Qtはデスクトップ環境だけでなく,組み込みプラットフォームや携帯電話プラットフォームでも実行できる.
二、Qtの発展の歴史:
Haavard Nord Eirik Chambe-Eng 1991 “Qt”,1994 3 4 , Quasar Technologies,
TrollTech, Trolltech, “ ”。
2008 ,Nokia 1.5 TrollTech, Qt Symbian 。
, Qt Software。
2009 5 11 , Qt Software Qt 。 ,Qt Software
Git Gitorious Web 。
2012 8 9 ,Digia Qt , Qt Android、IOS Window8
。
2013 7 3 ,Digia Qt Qt 5.1 。
2013 12 11 ,Digia Qt Qt 5.2 。
2014 4 ,Digia Qt Qt Creator 3.1.0 。
2014 5 20 ,Digia Qt Qt 5.3 。
Qt Qt5.11 。
三、Qtの優勢特徴:
Qtが開発したソフトウェアを使用すると、ソースコードを変更することなく、サポートされているプラットフォーム上で同じコードをコンパイルして実行できます.プラットフォームによって自動的にプラットフォーム特有のグラフィックインタフェーススタイルを表現します.長年の発展を経て、Qtは完備したC++グラフィックライブラリを持っているだけでなく、近年のバージョンは次第にデータベース、OpenGLライブラリ、マルチメディアライブラリ、ネットワーク、スクリプトライブラリ、XMLライブラリ、WebKitライブラリなどを集積し、そのコアライブラリもプロセス間通信、マルチスレッドなどのモジュールを加入し、Qtが大規模で複雑なプラットフォーム間アプリケーションを開発する能力を大きく豊かにした.本当の意味でその研究開発の趣旨「Code Less;Create More;Deploy Anywhere.」を実現した.
1) :Qt Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris,
SunOS,HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 。
2)Qt :Qt , Qt Qt 。
Qt signals/slots callback, 。
3)Qt API: Qt 250 C++ , collections,serialization,file,
I/O device,directory management,date/time 。 。
4)Qt 2D/3D , OpenGL。
5)Qt 。
6) XML 。
四、Qtに基づいて開発した製品
(1)3D Slicer: a free open source software for visualization and medical image computing;( VTK
)
(2)ParaView: VTK , 、 、 、
;
(3)Google Earth: Google ;
(4)Opera: , ;
(5)Qt Creator: the free software cross-platform integrated development environment from Nokia;(
IDE)
(6)Skype: P2P VOIP ;
(7)VirtualBox: Oracle ;
(8)YY : , ;
(9) : 。
(10)WPS Office: (Kingsoft) , Office 。