关闭

Qt核心知识归类及相关资料

标签: Qt
1533人阅读 评论(0) 收藏 举报
分类:

Qt是什么 ?

Qt是综合性跨平台的C++应用开发框架,它包括:一个存有400多种图形化用户界面的宏大C++类库、数据库、内核、XML、网络功能、OpenGL、多线程及众多用于以下目的的高级跨平台开发工具:

• GUI版面和表单设计
• 国际化
• 文档

Qt库:

Qt 类库拥有构建强健高端应用所需的全部函数

被分为几个模块,Qt的直属API包括:

核心类

GUI类

SQL数据库类

XML类

网络类

OpenGL® 3D图像类

其它还有更多

下面介绍常用的类:

QApplication 应用程序类              //管理图形用户界面应用程序的控制流和主要设置
QLabel 标签类                                //提供文本或者图像的显示
QPushButton 按钮类                     // 提供了命令按钮 按钮的一种
QButtonGroup 按钮组合类           // 按钮组 相关按钮的组合
QGroupBox 群组类                        // 一个有标题的组合框
QDateTimeEdit 日期时间编辑框类  
QLineEdit 行编辑框类                   // 单行文本编辑器
QTextEdit 文本编辑框类                 // 单页面多信息编辑器对象
QComboBox 组合框类
QProgressBar 进度条类
QLCDNumber 数字显示框类
QScrollBar 滚动条类
QSpinBox 微调框类
QSlider 滑动条类
QIconView 图标视图类
QListView 列表视图类
QListBox 列表框类
QTable 表格类
QValidator 有效性检查类
QImage 图像类
QMainWindow 主窗口类
QPopupMenu 弹出性菜单类
QMenuBar 菜单栏类
QToolButton 工具按钮类
QToolTip 提示类
QWhatsThis 这是什么类
QAction 动作类
QHBoxLayout 水平布局类
QVBoxLayout 垂直布局类
QGridLayout 表格布局类
QT对话框类
QMessageBox 消息对话框类
QProgressDialog 进度条对话框类
QWizard 向导对话框类
QFileDialog 文件对话框类
QColorDialog 颜色对话框类
QFontDialog 字体对话框类
QPrintDialog 打印对话框类
要系统学习QT 还需要看看QT的slot系统,QT库类接口等

Qt开发工具:

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

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

Qt Linguist • 一整套工具,支持对Qt应用作快捷无误的翻译

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

qmake • 跨平台makefile生成器

Qt Creator

Qt Creator在所有开发工具中最年轻,但其性能却令Qt开发伙伴们爱不释手。你可以在Qt Creator产品专页中看到这方面的信息。

Qt Designer

Qt Designer是强大的拖曳式图形化用户界面排版和表单构建器

功能 支持表单和对话框的创建,可即时预览
与Qt版面系统集成
宏大的标准widgets集
支持客户定制的widgets和对话框
与Microsoft® Visual Studio .NET无缝集成
优势 大大加快了界面的设计过程
支持所有平台上的本地外观感觉
开发者能在自行选择的工作环境内充分发挥其现有技能

(图)Qt一览(Qt for Symbian)

Qt Linguist

Qt Linguist是一组能理顺国际化工作流的工具。

(图)Qt一览(Qt for Symbian)

功能 采集所有的用户界面文本并以一个简洁的窗口将其展现给人工译者
支持所有语言
从单一应用的二进制程序内部提供同时多语言支持及同时多写入系统
优势 大大加快了翻译/本地化进程
与Qt的语言敏感排版引擎协同,以创建与语言不相关的简洁一致的界面
轻松应对国际市场
Qt Assistant

Qt Assistant是完全可定制、可重新发行的帮助文件/文档浏览器
(图)Qt一览(Qt for Symbian)

功能 简单明快的web浏览器般导航、书签和文档文件连接
支持富文本HTML
全文本关键词查阅
可定制并随Qt供应
优势 无需再从头开始构建帮助系统
充分利用现有的HTML技能
以方便搜寻和导航的格式向最终用户提供文档
qmake

跨平台应用build工具
功能 读取工程源码,生成依赖关系树,生成平台相关工程和makefiles
与Visual Studio及Xcode集成
优势 无需担忧跨平台编译
降低对makefile手工构建的需求度

Qt术语:

Widgets:UI组件(按钮、消息框、应用视窗)
版面管理器:对各种子widgets的自动定位及自动改变大小
信号与槽:对象间通信
事件:系统事件(鼠标点击、键盘,等等)
动作:如,在工具条和菜单中的保存动作

Qt架构:

Qt使用本地样式绘制用户界面
精准模拟外观感觉的Widgets也可被开发者改编
构建于平台的底层APIs之上
薄封装的MFC, Motif, Layered工具包。较低的性能表现,较低的灵活性
跨平台
面向多平台的单一源码,仅需重新编译

Qt图形化架构:

(图)Qt一览(Qt for Symbian)

Qt模块:

模块    说明 
QtCore  供其他模块使用的非图形化核心类 
QtGui  图形化用户界面(GUI)组件 
QtNetwork 用于网络编程的类 
QtOpenGL OpenGL支持类 
QtScript 用于评估Qt脚本的类 
QtSql 使用SQL对数据库进行整合的类 
QtSvg 用于显示SVG文件内容的类 
QtWebKit 用于显示和编辑web内容的类 
QtXml 用于处理XML的类 
QtXmlPatterns 用于XML和定制数据模型的XQuery及 XPath引擎 
Phonon 多媒体框架类 
Qt3Support Qt 3兼容类 
QtDesigner 用于扩展Qt Designer的类 
QtUiTools 运行时从 ui-files创建用户界面 
QtHelp 用于在线帮助的类 
QtAssistant 在线帮助支持 
QtTest 用于单元测试的工具类 

Qt的优点:

一套源码面向多个平台
开发时间少– 进入市场早
降低维护开销
避免开发集体中的操作系统小集团
真正的平*立性
用几周时间就能应付一个新平台,而非几月
快速响应不断变化的市场需求
与平台变化隔绝
Qt得到了积极的维护和开发,以支持所有最新的主流OS款型
将开发力量集中于增值创新
Qt能提供真正持久的竞争优势
Qt使C++编程加快了,容易了,而且更直观了,因而提高了开发者的效率
Qt部署工具减少了开发过程中通常具有的瓶颈:
图形化用户界面设计和布局- Qt Designer
翻译/本地化- Qt Linguist
文档编制- Qt Assistant
跨平台build系统– qmake
Qt提供了真正意义上的平台自由度– 应付一个新平台按日或周计算,而不是按月或年计算一套代码基意味着更少的维护时间和开销 – 成倍提高开发产出.

Qt官网信息及软件下载:

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

Qt下载:http://www.qt.io/download

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

 编码风格推荐:

Qt Coding Style:

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 coding style guidelines :
http://www.quinapalus.com/coding.html

C++ Coding Standard :
http://www.possibility.com/Cpp/CppCodingStandard.html

GitHub & Third-Party

 QtProject :

https://github.com/qtproject 
各种强大的Qt项目及丰富的Qt库。

Awesome Qt :
一系列强大的C/C++框架、库、资源和其它好东西。

https://insideqt.github.io/awesome-qt

https://github.com/fffaraz/awesome-cpp

http://fffaraz.github.io/awesome-cpp

inqlude :
https://inqlude.org 
Qt库存档 - 为Qt应用程序开发人员提供了所有现有的库。

free-programming-books-zh_CN :
https://github.com/justjavac/free-programming-books-zh_CN 
国外论坛:

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

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

Qt-Prop :
http://qt-prop.org 
可以找到很多专属的Qt应用。

Qt-Apps :
http://qt-apps.org 
可以找到很多免费的Qt应用,获得源码来学习、研究,使用时请遵守相关开源协议。

KDE-Apps :
http://kde-apps.org 
用过Linux/KDE的应该比较熟悉,里面有许多KDE-Desktop相关的应用。

Qt Software :
http://www.qtsoftware.com 
提供越来越多的第三方商业软件和开源软件的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们开发的实用开源项目和作品,以及一系列优秀的原创教程 - 图文并茂、简单易学。

 1.相关学习资料下载:

http://download.csdn.net/detail/fanyun_01/9637022




1
0
查看评论

qt各大模块简介

Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本节主要对 Qt 5 的模块进行一个简单的介绍,以便以后大家需要哪些功能的时候知道到哪个模块去寻找。 ...
  • u012905728
  • u012905728
  • 2014-11-17 18:17
  • 1755

QT中文类库说明及新手入门教程

  • 2009-02-19 20:42
  • 614KB
  • 下载

Qt使用手册、类库大全

  • 2011-10-25 21:45
  • 7.18MB
  • 下载

QT 中文帮助文档(所以类库)

  • 2011-05-30 23:28
  • 7.18MB
  • 下载

Qt类库参考 Qt类库参考

  • 2010-06-13 01:30
  • 7.18MB
  • 下载

Qt核心机制与原理

★了解Qt和C++的关系 ★掌握Qt的信号/槽机制的原理和使用方法 ★了解Qt的元对象系统 ★掌握Qt的架构 ★理解Qt的事件模型,掌握其使用的时机信号与槽、元对象系统、事件模型是Qt机制的核心,如果您想要掌握Qt编程,就需要对它们有比较深入的了解。本章重点介绍了信号与槽的基本概念和用法、元...
  • light_in_dark
  • light_in_dark
  • 2017-03-20 15:34
  • 2209

Qt 的几个核心机制总结之 布局

1.Qt布局的作用 Qt的布局是通过布局管理器来实现的,布局管理器负责在父类窗口部件区域构建子窗口部件,使得放置在窗体中的每个窗口部件都有一个适合的大小和位置,并且能够随着应用程序本身的变化而变化从而达到不改变整体的布局的结构的效果。相对于通过设定绝对位置来搭建界面的方法来讲有如下优点 1.1....
  • jimmy2013_1_1
  • jimmy2013_1_1
  • 2013-02-21 18:09
  • 6738

Qt 类层次结构图

  • 2012-03-18 16:39
  • 100KB
  • 下载

Qt 小知识点总结

写程序时经常会遇到一些很关键的代码,不长,但是写一篇文章来记录又不合适。现在就在这里把我遇到的小的qt知识点记录下来。这篇文章会不断更新。 1.让QToolbar始终悬浮 mainToolBar = QToolbar(); mainToolBar.setWindowFlags(Qt::Tool | ...
  • LaineGates
  • LaineGates
  • 2013-07-02 11:41
  • 2134

关于QT、QT creator和编译器,新手入门必知的一些知识

新手刚结束QT,常常会有这样的疑问,怎么qt那么复杂,什么乱七八糟的都有。下载好了vs版没有编译器,下载minGW版会不会有问题?qt creator是什么?qt和qt creator是什么关系? QT是类似于mfc,他是一种架构,可以让你写程序很方便,帮你封装好了很多类,而不必去直接用c++的类进...
  • xuancailinggan
  • xuancailinggan
  • 2016-02-01 23:05
  • 12559
    个人资料
    • 访问:532339次
    • 积分:8507
    • 等级:
    • 排名:第2765名
    • 原创:328篇
    • 转载:45篇
    • 译文:5篇
    • 评论:37条
    博客专栏
    文章分类
    最新评论
    大数据
    大数据2.0,将创造出更新更具竞争力的超级企业!
    云计算
    资源整合和企业成本节约的一把利器!
    IT项目管理
    合理配置规划和整合资源,利用最少的资源,打造高效的开发团队,使产出智能化,数量化,自动化!创造最大的价值!