c gui qt 4编程第二版_QT学习之路

一、QT的资料地址

    A、QT的官方下载地址

    Qt 官网:https://www.qt.io

    Qt 所有下载:http://download.qt.io/archive/qt

    Qt 官方发布下载:http://download.qt.io/official_releases/qt

    Open Source 下载:http://www.qt.io/download-open-source/#section-2

    Qt WiKi:https://wiki.qt.io/Main_Page

    B、代码风格

    QT代码风格:

    http://wiki.qt.io/Qt_Coding_Style(low-level)

    http://wiki.qt.io/Coding_Conventions( higher-level )

    Google代码风格:

    http://zh-google-styleguide.readthedocs.io/en/latest(C++ 、Objective-C、Python 、JSON、Shell )中文版的风格指南。

    C、国内外论坛

    Qt-Centre: http://www.qtcentre.org  一个非常全面的外国网站,有 forum、wiki、docs、blogs 等。

    Qt-forum :http://www.qtforum.org 比较有名的国际 Qt 编程论坛。

    QUIt Coding:http://quitcoding.com 一群享受前沿技术开发的人才,Qt 官方大使项目的成员。

    CSDN Qt 论坛 :http://bbs.csdn.net/forums/Qt 
作为中国最大的IT社区和服务平台,CSDN 也在持续的关注 Qt 的发展,Qt 技术社区也已经上线很久了,可以在里面进行知识传播 - 提问、分享自己的一些学习心得、资料等。

    QTCN 开发网 :http://www.qtcn.org 国内最早、最活跃的 Qt 中文社区,内容丰富、覆盖面广、在线人数众多,上面有很多热心、无私的 Qt 爱好者,他们会帮助初学者尽快的入门。

    Qter 开源社区 :http://www.qter.org   致力于 Qt 普及工作!里面富含 Qter 们开发的实用开源项目和作品,以及一系列优秀的原创教程 - 图文并茂、简单易学,力争帮助每一位初学者快速入门。

二、QT简介

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

1、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支持

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

.........................未完待续......................

更多精彩内容请关注公众号:机器视觉智能解决方案

efa9ab35a93254565bac4d6140de2fcd.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++ GUI Qt4编程第二版)》一书所有源代码下载地址:http://download.csdn.net/source/3402597。 《C++ GUI Qt4编程第二版)》,英文名《C++ GUI Programming with Qt4,Second Edition》,作者:【加拿大】Jasmin Blanchette、【英】Mark Summerfield,翻译:闫锋欣、曾泉人、张志强,审校:周莉娜、赵延兵,出版社:电子工业出版社,ISBN:9787121070389,PDF 格式,大小 155Mb。被压缩为 3 部分,本资源是第三部分:第一部分下载地址:http://download.csdn.net/source/3397783;第二部分下载地址:http://download.csdn.net/source/3397770;第三部分下载地址:http://download.csdn.net/source/3397766。 三个资源在一起解压缩后(windows 平台下解压缩)即可得到《C++ GUI Qt4编程第二版)》.pdf 一书。 内容简介: 本书详细讲述了用最新的qt版本进行图形用户界面应用程序开发的各个方面。前5章主要涉及qt基础知识,后两个部分主要讲解qt的中高级编程,包括布局管理、事件处理、二维/三维图形、拖放、项视图类、容器类、输入/输出、数据库、多线程、网络、xml、国际化、嵌入式编程等内容。对于本书讲授的大量qt4编程原理和实践,都可以轻易将其应用于qt4.4、qt4.5以及后续版本的qt程序开发过程中。   本书适合对qt编程感兴趣的程序员以及广大计算机编程爱好者阅读,也可作为相关机构的培训教材。 目录: 第一部分 qt基础  第1章 qt入门                   第2章 创建对话框           第3章 创建主窗口                  第4章 实现应用程序的功能        第5章 创建自定义窗口部件      第二部分 qt中级  第6章 布局管理  第7章 事件处理  第8章 二维图形  第9章 拖放  第10章 项视图类  第11章 容器类  第12章 输入与输出  第13章 数据库  第14章 多线程  第15章 网络  第16章 xml  第17章 提供在线帮助 第三部分 qt高级 . 第18章 国际经  第19章 自定义外观  第20章 三维图形  第21章 创建插件  第22章 应用程序脚本  第23章 平台相关特性  第24章 嵌入性编程第四部分  附录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值