QT开发(一)——QT简介-阿里云开发者社区

开发者社区> dasein58> 正文

QT开发(一)——QT简介

简介:   一、QT简介   1、QT简介   QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt Creator, QtEmbedded,Qt Designer快速开发工具,Qt Linguist国际化工具等部分,Qt支持所有Linux/Unix系统,还支持Windows平台。   2、QT优点   Qt是一个跨平台的C++图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt很容易扩展,并且允许真正地组件编程。Qt与GTK、KDE、MFC,OWL,VCL,ATL是一样的图形界面库。
+关注继续查看

  一、QT简介

  1、QT简介

  QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt Creator, QtEmbedded,Qt Designer快速开发工具,Qt Linguist国际化工具等部分,Qt支持所有Linux/Unix系统,还支持Windows平台。

  2、QT优点

  Qt是一个跨平台的C++图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt很容易扩展,并且允许真正地组件编程。Qt与GTK、KDE、MFC,OWL,VCL,ATL是一样的图形界面库。

  QT优点如下:

  A、优良的跨平台特性

  Qt支持下列操作系统: Microsoft Windows,Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等。

  B、面向对象

  Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说非常方便。 Qt提供了一种称为signals/slots的安全类型来替代 callback,使得各个元件之间的协同工作变得十分简单。

  C、丰富的API

  Qt包括多达250个以上的C++类,还提供基于模板的collections, serialization,file,I/O device,directory management,date/time类。

  D、支持2D/3D图形渲染,二手游戏账号买卖平台支持OpenGL

  E、大量的开发文档

  F、XML支持

  二、QT开发工具

  QT开发工具包含Qt Creator、Qt Designer、Qt Linguist、Qt Assistant、Qmake。

  1、Qt Creator

  Qt Creator是用于Qt开发的轻量级跨平台集成开发环境。

  2、Qt Designer

  Qt Designer是强大的拖曳式图形化用户界面排版和设计工具。

  Qt Designer功能如下:

  A、支持表单和对话框的创建,可即时预览

  B、与Qt版面系统集成

  C、宏大的标准widgets集

  D、支持客户定制的widgets和对话框

  E、与Microsoft Visual Studio .NET无缝集成

  Qt Designer优势如下:

  A、大大加快了界面的设计过程

  B、支持所有平台上的本地外观感觉

  C、开发者能在自行选择的工作环境内充分发挥其现有技能

  3、Qt Linguist

  Qt Linguist一整套工具,支持对Qt应用作快捷无误的翻译,是一组能理顺国际化工作流的工具。

  Qt Linguist功能如下:

  A、采集所有的用户界面文本并以一个简洁的窗口将其展现给人工译者

  B、支持所有语言

  C、从单一应用的二进制程序内部提供同时多语言支持及同时多写入系统

  Qt Linguist优势如下:

  A、大大加快了翻译/本地化进程

  B、与Qt的语言敏感排版引擎协同,以创建与语言不相关的简洁一致的界面

  C、轻松应对国际市场

  4、Qt Assistant

  Qt Assistant是可定制可重发布的帮助文件和文档阅读器。

  Qt Assistant功能如下:

  A、简单明快的web浏览器般导航、书签和文档文件连接

  B、支持富文本HTML

  C、全文本关键词查阅

  D、可定制并随Qt供应

  Qt Assistant优势如下:

  A、无需再从头开始构建帮助系统

  B、充分利用现有的HTML技能

  C、以方便搜寻和导航的格式向最终用户提供文档

  5、Qmake

  Qmake跨平台makefile生成器。

  Qmake功能如下:

  A、读取工程源码,生成依赖关系树,生成平台相关工程和makefiles

  B、与Visual Studio及Xcode集成

  Qmake优势如下:

  A、无需担忧跨平台编译

  B、降低对makefile手工构建的需求度

  6、其他工具

  A、lupdate:从源代码文件或其他资源文件中提取需要翻译的字符串,并将之存入xml格式的.ts文件中。

  B、lrelease:负责将.ts文件转化为程序使用的.qm文件。.qm档会去掉.ts档中所有的空白和未翻译的内容,并将存储格式压缩。

  C、lconvert:用于翻译文件之间的格式转换。

  D、QVFb:虚拟帧缓存设备,模拟framebuffer设备(尺寸、色深),还可以通过skin模拟硬件键盘的布局(包括特殊的按键),可以便捷在桌面系统机器上开发嵌入式程序

  E、makeqpf:创建用于嵌入式设备的qpf格式。qpf是一种预先渲染的字体,直接保存成二进制内容,使用的时候可以用内存映射加载,从加载到绘制的过程不需要计算。

  F、uic:User Interface Compiler。从用户界面的文件(.ui)生成C++代码。

  G、rcc:Resource Compiler。rcc工具根据.qrc文件的内容将相关的资源在编译过程中嵌入到Qt应用程序。

  H、qtconfig:基于X11的Qt的配置工具和在线帮助。

  I、qconfig:Qt Embedded(Linux和Windows CE)配置工具。

  J、qtdemo:Qt的实例和示范项目的加载器。

  K、qt3to4:协助移植Qt 3程序到Qt 4的工具。

  L、qdbusxml2cpp:QtDBus XML compiler。将xml格式的D-Bus接口描述转换成为C++源代码

  M、D-Bus Viewer:可以查看D-Bus对象和信息的工具。

  N、Qt Visual Studio Add-in:Visual Studio集成

  O、Qt Eclipse Integration:Eclipse集成

  三、QT模块

  QT模块分为QT基础模块和QT扩展模块。

  1、QT基础模块

  QT基础模块包括:

  A、Qt Core,提供核心的非GUI功能,所有模块都需要Qt Core模块。Qt Core模块的类包括了动画框架、定时器、各个容器类、时间日期类、事件、IO、JSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML 等。

  B、Qt Gui,提供 GUI 程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL 和 OpenGL ES 集成、2D 图像、字体、拖放等,一般由 Qt 用户界面类内部使用,也可以用于访问底层的 OpenGL ES 图像 API。Qt Gui 模块提供的是所有图形用户界面程序都需要的通用功能。

  C、Qt Multimedia,提供视频、音频、收音机以及摄像头等功能,需要在 pro 文件中添加 QT +=multimedia。

  D、Qt Network,提供跨平台的网络功能,需要在 pro 文件中添加 QT +=network。

  E、Qt Qml,提供供 QML(一种脚本语言,也提供 JavaScript 的交互机制) 使用的 C++ API,需要在 pro 文件中添加 QT +=qml。

  F、Qt Quick,允许在 Qt/C++ 程序中嵌入 Qt Quick(一种基于 Qt 的高度动画的用户界面,适合于移动平台开发),需要在 pro 文件中添加 QT +=quick。

  G、Qt SQL,允许使用 SQL 访问数据库,需要在 pro 文件中添加 QT +=sql。

  H、Qt Test,提供 Qt 程序的单元测试功能,需要在 pro 文件中添加 QT +=testlib。

  I、Qt Webkit,基于 WebKit2 的实现以及一套全新的 QML API

  2、QT扩展模块

  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 验证的支持。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10095 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2511 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13893 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
22412 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4510 0
+关注
799
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载