[Qt] Qtの紹介

00.目次

01.Qtの概要

QTは、ノルウェーのTrollTechによって作成されたクロスプラットフォームのC ++グラフィカルユーザーインターフェイスライブラリです。現在、Qt Creator、QtEmbedded、Qt Designer迅速開発ツール、QtLinguist国際化ツールなどが含まれています。QtはすべてのLinux / UnixシステムとWindowsプラットフォームをサポートしています。 、Macプラットフォームなど。

02.Qtの利点

Qtは、クロスプラットフォームのC ++グラフィカルユーザーインターフェイスアプリケーションフレームワークであり、アプリケーション開発者に芸術的なグラフィカルユーザーインターフェイスの構築に必要なすべての機能を提供します。Qtは拡張が簡単で、真のコンポーネントプログラミングが可能です。Qtは、GTK、KDE、MFC、OWL、VCL、およびATLと同じグラフィカルインターフェイスライブラリです。

QTの利点は次のとおりです。

2.1優れたクロスプラットフォーム機能

Qtは、Microsoft Windows、Linux、Solaris、SunOS、HP-UX、Digital UNIX(OSF / 1、Tru64)、Irix、FreeBSD、BSD / OS、SCO、AIX、OS390、QNXなどのオペレーティングシステムをサポートしています。

2.2オブジェクト指向

Qtの優れたパッケージングメカニズムにより、Qtは非常に高度なモジュール性、優れた再利用性を備え、ユーザー開発に非常に便利です。Qtは、コールバックを置き換えるためのシグナル/スロットと呼ばれる安全なタイプを提供します。これにより、さまざまなコンポーネント間のコラボレーションが非常に簡単になります。

2.3リッチAPI

Qtには250を超えるC ++クラスが含まれており、テンプレートベースのコレクション、シリアル化、ファイル、I / Oデバイス、ディレクトリ管理、および日付/時刻クラスも提供します。

2.4 2D / 3Dグラフィックスレンダリングをサポートし、OpenGLをサポートします

2.5多数の開発ドキュメント

2.6 XML、JSONサポートなど。

03.Qt関連ツール

QT開発ツールには、Qt Creator、Qt Designer、Qt Linguist、Qt Assistant、Qmake、CMakeなどが含まれます。

3.1 Qt Creator

Qt Creatorは、Qt開発用の軽量のクロスプラットフォーム統合開発環境です。

3.2 QtDesigner

Qt Designerは、強力なドラッグアンドドロップのグラフィカルユーザーインターフェイスレイアウトおよびデザインツールです。

QtDesignerの機能は次のとおりです。

A、支持表单和对话框的创建,可即时预览
B、与Qt版面系统集成
C、宏大的标准widgets集
D、支持客户定制的widgets和对话框
E、与Microsoft Visual Studio .NET无缝集成

QtDesignerの利点は次のとおりです。

A、大大加快了界面的设计过程
B、支持所有平台上的本地外观感觉
C、开发者能在自行选择的工作环境内充分发挥其现有技能

3.3Qt言語学者

Qt Linguistは、Qtアプリケーションの迅速でエラーのない翻訳をサポートするツールのセットであり、国際的なワークフローを合理化できるツールのセットです。

Qt言語学者の機能は次のとおりです。

A、采集所有的用户界面文本并以一个简洁的窗口将其展现给人工译者
B、支持所有语言
C、从单一应用的二进制程序内部提供同时多语言支持及同时多写入系统

Qt言語学者の利点は次のとおりです。

A、大大加快了翻译/本地化进程
B、与Qt的语言敏感排版引擎协同,以创建与语言不相关的简洁一致的界面
C、轻松应对国际市场

3.4Qtアシスタント

Qt Assistantは、カスタマイズおよび再配布可能なヘルプファイルおよびドキュメントリーダーです。

QtAssistantの機能は次のとおりです。

A、简单明快的web浏览器般导航、书签和文档文件连接
B、支持富文本HTML
C、全文本关键词查阅
D、可定制并随Qt供应

QtAssistantの利点は次のとおりです。

A、无需再从头开始构建帮助系统
B、充分利用现有的HTML技能
C、以方便搜寻和导航的格式向最终用户提供文档

3.5 QMake

Qmakeクロスプラットフォームのmakefileジェネレーター。

Qmakeの機能は次のとおりです。

A、读取工程源码,生成依赖关系树,生成平台相关工程和makefiles
B、与Visual Studio及Xcode集成

Qmakeの利点は次のとおりです。

A、无需担忧跨平台编译
B、降低对makefile手工构建的需求度

3.6 CMake

CMakeはクロスプラットフォームのインストール(コンパイル)ツールであり、簡単な文章を使用してすべてのプラットフォームのインストール(コンパイルプロセス)を説明できます。UNIXでのautomakeと同様に、さまざまなmakefileまたはプロジェクトファイルを出力でき、コンパイラでサポートされているC ++機能をテストできます。CMakeの設定ファイルのみがCMakeLists.txtという名前になっています。Cmakeは最終的なソフトウェアを直接構築しませんが、標準の構築ファイル(Unixの場合はMakefile、Windows Visual C ++の場合はプロジェクト/ワークスペースなど)を生成し、通常の構築方法で使用します。これにより、統合開発環境(IDE)に精通している開発者は、標準的な方法でソフトウェアを構築できます。さまざまなプラットフォームのネイティブ構築システムを使用できるこの機能が、CMakeとSConsを他の同様のシステムと区別しています。

3.7その他のツール

A. lupdate:翻訳する文字列をソースコードファイルまたはその他のリソースファイルから抽出し、xml形式で.tsファイルに保存します。

B. lrelease:.tsファイルをプログラムで使用される.qmファイルに変換する責任があります。.qmファイルは、.tsファイル内のすべての空白の未翻訳コンテンツを削除し、ストレージ形式を圧縮します。

C. lconvert:翻訳ファイル間のフォーマット変換に使用されます。

D. QVFb:仮想フレームバッファーデバイス、シミュレートされたフレームバッファーデバイス(サイズ、色深度)、およびスキンを介したハードウェアキーボード(特殊キーを含む)のレイアウトをシミュレートすることもできます。これにより、デスクトップシステムでの組み込みプログラムの開発が容易になります。機械

E. makeqpf:組み込みデバイス用のqpf形式を作成します。Qpfは事前にレンダリングされたフォントであり、バイナリコンテンツとして直接保存され、使用時にメモリマッピングを使用してロードできます。ロードから描画までのプロセスでは、計算は必要ありません。

F、uic:ユーザーインターフェイスコンパイラ。ユーザーインターフェイスファイル(.ui)からC ++コードを生成します。

G、rcc:リソースコンパイラ。rccツールは、.qrcファイルの内容に従って、コンパイルプロセス中に関連リソースをQtアプリケーションに埋め込みます。

H、qtconfig:X11ベースのQt構成ツールとオンラインヘルプ。

I. qconfig:Qt Embedded(LinuxおよびWindows CE)構成ツール。

J、qtdemo:Qtの例とデモプロジェクトローダー。

K. qt3to4:Qt3プログラムのQt4への移植を支援するツール。

L、qdbusxml2cpp:QtDBusXMLコンパイラ。xml形式のD-Busインターフェースの説明をC ++ソースコードに変換します

M. D-Bus Viewer:D-Busオブジェクトと情報を表示できるツール。

N、Qt Visual Studioアドイン:VisualStudio集成

O、Qt Eclipse統合:Eclipse統合

04.Qt基本モジュール

  • Qtコンカレント
  • Qtコア
  • Qtコア互換性API
  • Qt D-Bus
  • Qt GUI
  • Qtヘルプ
  • Qtネットワーク
  • Qt OpenGL
  • Qtプリントのサポート
  • Qt QML
  • Qtクイック
  • Qtクイック3D
  • Qtクイックコントロール
  • Qtクイックレイアウト
  • Qtクイックタイムライン
  • Qtクイックウィジェット
  • Qtシェーダーツール
  • Qt SQL
  • Qt SVG
  • Qtテスト
  • Qt UI Tools
  • Qt Wayland
  • QtWaylandコンポジター
  • Qtウィジェット
  • Qt XML

05.Qt拡張モジュール

Qt 6.0ユーザーは、パッケージマネージャーから次の拡張モジュールを入手することもできます。

  • Qt 3D
  • Qt画像フォーマット
  • Qtネットワーク認証
  • M2Mパッケージ:Qt CoAP
  • M2Mパッケージ:Qt MQTT
  • M2Mパッケージ:Qt OpcUA

引き続きインストーラーをパッケージマネージャーのバックエンドとして使用しており、ユーザーはQtインストーラー(またはメンテナンスツール)を使用して追加のライブラリを選択する必要があります。追加のライブラリを使用するためのQtCreatorのサポートを改善するための他のソリューションを探しています。

Qt6.1では次の追加ライブラリを提供する予定です。

  • アクティブQt
  • Qtチャート
  • Qtクイックダイアログ(ファイルダイアログ)
  • Qt ScXML
  • Qt仮想キーボード

Qt 6.1バージョンは1月に機能の凍結を完了したため、現在、少数の拡張モジュールのみが含まれています。ただし、後でプレビュー用の拡張モジュールをさらに提供する予定です。

Qt6.2では次の追加ライブラリを提供する予定です。

  • Qt Bluetooth
  • Qtデー​​タの視覚化
  • Qtロッティアニメーション
  • Qtマルチメディア
  • Qt NFC
  • Qtポジショニング
  • Qtクイックダイアログ:フォルダ、メッセージボックス
  • Qtリモートオブジェクト
  • Qtセンサー
  • Qt SerialBus
  • Qtシリアルポート
  • Qt WebChannel
  • Qt WebEngine
  • Qt WebSockets
  • Qt WebView

一部のモジュールは、次の理由で上記にリストされていません。

  • それらはQt6から意図的に削除されています(Qt KNX、Qtスクリプト、Qt XMLパターンなど)。
  • この関数は他のモジュールの一部であるか、その一部になる予定であるため、別個のモジュール(プラットフォーム固有の追加機能など)である必要はありません。
  • Qt 6.2 LTSのリリース後、またはQtMarketplaceを通じてリリースする予定です。
  • これらは、ツール(Qt Creator、Qt Design Studioなど)、Qt Safe Renderer、Qt AutomotiveSuiteなどのQtフレームワークの一部ではありません。

06.古いバージョンのモジュール

QT基础模块包括:
1) Qt Core,提供核心的非GUI功能,所有模块都需要Qt Core模块。Qt Core模块的类包括了动画框架、定时器、各个容器类、
时间日期类、事件、IO、JSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML 等。
2) Qt Gui,提供 GUI 程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL 和 OpenGL ES 集成、2D 图像、字体、拖放等,
一般由 Qt 用户界面类内部使用,也可以用于访问底层的 OpenGL ES 图像 API。Qt Gui 模块提供的是所有图形用户界面程序都需要
的通用功能。
3) Qt Multimedia,提供视频、音频、收音机以及摄像头等功能,需要在 pro 文件中添加 QT += multimedia。
4) Qt Network,提供跨平台的网络功能,需要在 pro 文件中添加 QT += network。
5) Qt Qml,提供供 QML(一种脚本语言,也提供 JavaScript 的交互机制) 使用的 C++ API,需要在 pro 文件中添加 QT += qml。
6) Qt Quick,允许在 Qt/C++ 程序中嵌入 Qt Quick(一种基于 Qt 的高度动画的用户界面,适合于移动平台开发),需要在 pro 文
件中添加 QT += quick。
7) Qt SQL,允许使用 SQL 访问数据库,需要在 pro 文件中添加 QT += sql。
8) Qt Test,提供 Qt 程序的单元测试功能,需要在 pro 文件中添加 QT += testlib。
9) Qt Webkit,基于 WebKit2 的实现以及一套全新的 QML API

QT扩展模块包括:
(1)Qt 3D,提供声明式语法,在 Qt 程序中可以简单地嵌入 3D 图像。Qt 3D 为 Qt Quick 添加了 3D 内容渲染。Qt 3D 提供了 
QML 和 C++ 两套 API,用于开发 3D 程序。
(2)Qt Bluetooth,提供用于访问蓝牙无线设备的 C++ 和 QML API。
(3)Qt Contacts,用于访问地址簿或者联系人数据库的 C++ 和 QML API。
(4)Qt Concurrent,封装了底层线程技术的类库,方便开发多线程程序。
(5)Qt D-Bus,是一个仅供 Unix 平台使用的类库,用于利用 D-Bus 协议进行进程间交互。
(6)Qt Graphical Effects,提供一系列用于实现图像特效的类,比如模糊、锐化等。
(7)Qt Image Formats,支持图片格式的一系列插件,包括 TIFF、MNG、TGA 和 WBMP。
(8)Qt JS Backend,模块没有公开的 API,是 V8 JavaScript 引擎的一个移植,仅供 QtQml 模块内部使用。
(9)Qt Location,提供定位机制、地图和导航技术、位置搜索等功能的 QML 和 C++ API。
(10)Qt OpenGL,方便在 Qt 应用程序中使用 OpenGL,仅仅为了程序从 Qt 4 移植到 Qt 5 的方便才保留下来,如果你需要在新的 
Qt 5 程序中使用 OpenGL 相关技术,需要使用的是 QtGui 模块中的 QOpenGL。
(11)Qt Organizer,使用 QML 和 C++ API 访问组织事件(organizer event)。organizer API 是 Personal 
Information Management API 的一部分,用于访问 Calendar 信息。通过 Organizer API 可以实现:从日历数据库访问日历时间、导入 
iCalendar 
事件或者将自己的事件导出到 iCalendar。
(12)Qt Print Support,提供对打印功能的支持。
(13)Qt Publish and Subscribe,为应用程序提供对项目值的读取、导航、订阅等的功能。
(14)Qt Quick 1,从 Qt 4 移植过来的 QtDeclarative 模块,用于提供与 Qt 4 的兼容。如果你需要开发新的程序,需要使用 
QtQuick 模块。
(15)Qt Script,提供脚本化机制。这也是为提供与 Qt 4 的兼容性,如果要使用脚本化支持,请使用 QtQml 模块的 QJS* 类。
(16)Qt Script Tools,为使用了 Qt Script 模块的应用程序提供的额外的组件。
(17)Qt Sensors,提供访问各类传感器的 QML 和 C++ 接口。
(18)Qt Service Framework,提供客户端发现其他设备的服务。Qt Service Framework 为在不同平台上发现、实现和访问服务定义了
一套统一的机制。
(19)Qt SVG,提供渲染和创建 SVG 文件的功能。
(20)Qt System Info,提供一套 API,用于发现系统相关的信息,比如电池使用量、锁屏、硬件特性等。
(21)Qt Tools,提供了 Qt 开发的方便工具,包括 Qt CLucene、Qt Designer、Qt Help 以及 Qt UI Tools 。
(22)Qt Versit,提供了对Versit API 的支持。Versit API是Personal Information Management API 的一部分,用于 QContacts
 和 vCard 以及 QOrganizerItems 和 iCalendar 之间的相互转换。
(23)Qt Wayland,仅用于Linux平台,用于替代 QWS,包括 Qt Compositor API(server)和 Wayland 平台插件(clients)。
(24)Qt WebKit,从 Qt 4 移植来的基于 WebKit1 和 QWidget 的 API。
(25)Qt Widgets,使用 C++ 扩展的 Qt Gui 模块,提供了一些界面组件,比如按钮、单选框等。
(26)Qt XML,SAX 和 DOM 的 C++ 实现。该模块已经废除,请使用 QXmlStreamReader/Writer。
(27)Qt XML Patterns,提供对 XPath、XQuery、XSLT 和 XML Schema 验证的支持。

07.付録

7.1 Qtチュートリアルの
URLの要約https//dengjin.blog.csdn.net/article/details/115174639

おすすめ

転載: blog.csdn.net/dengjin20104042056/article/details/115264831