[Qt] Introducción a Qt

00. Tabla de contenido

01. Resumen de Qt

QT es una biblioteca de interfaz gráfica de usuario C ++ multiplataforma, producida por TrollTech, Noruega. Actualmente incluye Qt Creator, QtEmbedded, la herramienta de desarrollo rápido Qt Designer, la herramienta de internacionalización Qt Linguist y otras partes. Qt es compatible con todos los sistemas Linux / Unix y la plataforma Windows , Plataforma Mac, etc.

02. Ventajas del cuarto de galón

Qt es un marco de aplicación de interfaz gráfica de usuario C ++ multiplataforma que proporciona a los desarrolladores de aplicaciones todas las funciones necesarias para construir una interfaz gráfica de usuario artística. Qt es fácil de ampliar y permite una verdadera programación de componentes. Qt es la misma biblioteca de interfaz gráfica que GTK, KDE, MFC, OWL, VCL y ATL.

Las ventajas de QT son las siguientes:

2.1 Excelentes funciones multiplataforma

Qt admite los siguientes sistemas operativos: Microsoft Windows, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF / 1, Tru64), Irix, FreeBSD, BSD / OS, SCO, AIX, OS390, QNX, etc.

2.2 Orientado a objetos

El buen mecanismo de empaquetado de Qt hace que Qt tenga un grado muy alto de modularidad, buena reutilización y muy conveniente para el desarrollo del usuario. Qt proporciona un tipo seguro llamado señales / ranuras para reemplazar la devolución de llamada, lo que hace que la colaboración entre varios componentes sea muy simple.

2.3 API enriquecida

Qt incluye más de 250 clases de C ++ y también proporciona colecciones basadas en plantillas, serialización, archivos, dispositivos de E / S, administración de directorios y clases de fecha / hora.

2.4 Soporte de renderizado de gráficos 2D / 3D, soporte OpenGL

2.5 Una gran cantidad de documentos de desarrollo

2.6 XML, soporte JSON, etc.

03. Herramientas relacionadas con Qt

Las herramientas de desarrollo de QT incluyen Qt Creator, Qt Designer, Qt Linguist, Qt Assistant, Qmake, CMake, etc.

Creador de 3,1 Qt

Qt Creator es un entorno de desarrollo integrado multiplataforma ligero para el desarrollo de Qt.

Diseñador de 3,2 cuartos de galón

Qt Designer es una potente herramienta de diseño y diseño de interfaz gráfica de usuario de arrastrar y soltar.

Las funciones de Qt Designer son las siguientes:

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

Las ventajas de Qt Designer son las siguientes:

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

Lingüista de 3.3 Qt

Qt Linguist es un conjunto de herramientas que admite la traducción rápida y sin errores de aplicaciones Qt. Es un conjunto de herramientas que pueden agilizar el flujo de trabajo internacional.

Las funciones de Qt Linguist son las siguientes:

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

Las ventajas de Qt Linguist son las siguientes:

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

Asistente de 3.4 cuartos de galón

Qt Assistant es un archivo de ayuda y un lector de documentos personalizable y redistribuible.

Las funciones de Qt Assistant son las siguientes:

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

Las ventajas de Qt Assistant son las siguientes:

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

3.5 QMake

Generador de archivos MAKE multiplataforma de Qmake.

Las funciones de Qmake son las siguientes:

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

Las ventajas de Qmake son las siguientes:

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

3.6 CMake

CMake es una herramienta de instalación (compilación) multiplataforma, puede usar oraciones simples para describir la instalación (proceso de compilación) de todas las plataformas. Puede generar una variedad de archivos MAKE o archivos de proyecto, y puede probar las características de C ++ compatibles con el compilador, similar a automake en UNIX. Solo el archivo de configuración de CMake se denomina CMakeLists.txt. Cmake no construye directamente el software final, sino que genera archivos de construcción estándar (como Makefile para Unix o proyectos / espacios de trabajo para Windows Visual C ++) y luego lo usa de la forma habitual de construcción. Esto permite a los desarrolladores que están familiarizados con un entorno de desarrollo integrado (IDE) construir su software de manera estándar Esta capacidad de utilizar el sistema de construcción nativo de varias plataformas es lo que distingue a CMake y SCons de otros sistemas similares.

3.7 Otras herramientas

A. lupdate: extraiga la cadena a traducir del archivo de código fuente u otros archivos de recursos y guárdelo en el archivo .ts en formato xml.

B. lrelease: Responsable de convertir archivos .ts en archivos .qm utilizados por el programa. El archivo .qm eliminará todo el contenido en blanco y sin traducir en el archivo .ts y comprimirá el formato de almacenamiento.

C. lconvert: se utiliza para la conversión de formato entre archivos de traducción.

D. QVFb: dispositivo de búfer de marco virtual, dispositivo de búfer de marco simulado (tamaño, profundidad de color) y también puede simular el diseño del teclado de hardware (incluidas las teclas especiales) a través de la máscara, lo que puede facilitar el desarrollo de programas integrados en el sistema de escritorio máquina

E. makeqpf: crea formato qpf para dispositivos integrados. Qpf es una fuente pre-renderizada, guardada directamente como contenido binario y se puede cargar con mapeo de memoria cuando se usa, y el proceso desde la carga hasta el dibujo no requiere cálculo.

F, uic: Compilador de interfaz de usuario. Genere código C ++ desde el archivo de interfaz de usuario (.ui).

G, rcc: compilador de recursos. La herramienta rcc incorpora recursos relacionados en la aplicación Qt durante el proceso de compilación de acuerdo con el contenido del archivo .qrc.

H, qtconfig: herramienta de configuración Qt basada en X11 y ayuda en línea.

I. qconfig: Herramienta de configuración Qt Embedded (Linux y Windows CE).

J, qtdemo: ejemplo de Qt y cargador de proyectos de demostración.

K. qt3to4: una herramienta para ayudar a trasladar los programas Qt 3 a Qt 4.

L, qdbusxml2cpp: compilador XML QtDBus. Convierta la descripción de la interfaz D-Bus en formato xml en código fuente C ++

M. D-Bus Viewer: una herramienta que puede ver información y objetos D-Bus.

N N Qt Complemento de Visual Studio: Visual Studio 集成

O, Qt Integración con Eclipse: integración con Eclipse

04. Módulo básico Qt

  • Qt concurrente
  • Qt Core
  • API de compatibilidad de Qt Core
  • Qt D-Bus
  • Qt GUI
  • Ayuda Qt
  • Red de Qt
  • Qt OpenGL
  • Soporte de impresión Qt
  • Qt QML
  • Qt Rápido
  • Qt Quick 3D
  • Controles rápidos Qt
  • Diseños rápidos de Qt
  • Línea de tiempo rápida de Qt
  • Widgets rápidos de Qt
  • Herramientas Qt Shader
  • Qt SQL
  • Qt SVG
  • Prueba de Qt
  • Herramientas de interfaz de usuario de Qt
  • Qt Wayland
  • Compositor de Qt Wayland
  • Widgets de Qt
  • Qt XML

05. Módulo de extensión Qt

Los usuarios de Qt 6.0 también pueden obtener los siguientes módulos de extensión a través del administrador de paquetes:

  • Qt 3D
  • Formatos de imagen Qt
  • Autorización de Qt Network
  • Paquete M2M: Qt CoAP
  • Paquete M2M: Qt MQTT
  • Paquete M2M: Qt OpcUA

Seguimos usando el instalador como backend del administrador de paquetes, y los usuarios deben usar el instalador Qt (o herramienta de mantenimiento) para seleccionar bibliotecas adicionales. Estamos buscando otras soluciones para mejorar el soporte de Qt Creator para el uso de bibliotecas adicionales.

Planeamos proporcionar las siguientes bibliotecas adicionales en Qt 6.1:

  • Qt activo
  • Gráficos de Qt
  • Cuadros de diálogo rápidos de Qt (cuadro de diálogo Archivo)
  • Qt ScXML
  • Teclado virtual Qt

La versión Qt 6.1 ha completado la congelación de funciones en enero, por lo que actualmente solo se incluye una pequeña cantidad de módulos de expansión. Pero más adelante proporcionaremos más módulos de extensión para la vista previa.

Planeamos proporcionar las siguientes bibliotecas adicionales en Qt 6.2:

  • Qt Bluetooth
  • Visualización de datos Qt
  • Animación Qt Lottie
  • Qt Multimedia
  • Qt NFC
  • Posicionamiento Qt
  • Cuadros de diálogo rápidos de Qt: carpeta, cuadro de mensaje
  • Objetos remotos Qt
  • Sensores de Qt
  • Qt SerialBus
  • Qt SerialPort
  • Qt WebChannel
  • Qt WebEngine
  • Qt WebSockets
  • Qt WebView

Algunos módulos no se enumeran arriba porque:

  • Se eliminan deliberadamente de Qt 6 (como Qt KNX, Qt Script y Qt XML Patterns).
  • Esta función es o será parte de otros módulos, por lo que ya no necesita ser un módulo separado (como los extras específicos de la plataforma)
  • Planeamos lanzarlos después de que se publique Qt 6.2 LTS o mediante Qt Marketplace.
  • No forman parte del marco Qt, como herramientas (Qt Creator, Qt Design Studio, etc.), Qt Safe Renderer, Qt Automotive Suite, etc.

06. Módulo de versión antigua

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. Apéndice

7.1 Resumen de la
URL de los tutoriales de Qt : https://dengjin.blog.csdn.net/article/details/115174639

Supongo que te gusta

Origin blog.csdn.net/dengjin20104042056/article/details/115264831
Recomendado
Clasificación