第1课_Qt简介

1.什么是Qt

  Qt是一个针对桌面、嵌入式、移动设备的一个跨平台的开发框架。Qt是基于C++编写的框架,既可以开发GUI程序,也可用与开发非GUI程序。预处理器,MOC用于扩展c++(例如信号与槽的特性)。编译前,先使用MOC分析Qt扩展的c++源文件(检测是否包含Q_OBJECT宏),之后生成符合C++标准的源文件(新文件名将会由moc_加上原文件名构成)。因此框架本身和应用程序库使他能被任何符合标准的C++的编译器(MinGW、MSVC…)所编译。

2.Qt的优点

  • 优良的跨平台特性:
    Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
  • 面向对象
  • 丰富的 API
  • 支持 2D/3D 图形渲染,支持 OpenGL
  • 大量的开发文档
  • XML 支持

3. Qt5介绍

3.1 Qt quick

Qt Quick是Qt 5中使用的用户界面技术的总称。Qt Quick本身就是一些技术的集合:
- QML(Markup language for user interfaces):用户界面标记语言,类似于HTML,在QtQuick中将由标签组成的元素封装在大括号中Item{}。
- JacaScript(The dynamic scripting language):动态脚本语言
- Qt C++(The highly portable enhanced c++ library):跨平台c++封装库
一个典型的Qt5项目中,前端采用QML/JacaScript开发界面,后端采用Qt C++与系统交互完成复杂的逻辑运算,将界面设计与功能开发分离出来。

3. Qt高效工具

包括Qt Creator、Qt Designer、Qt Linguist、Qt Assistant。

3.1 Qt Creator

  Qt Creator是跨平台的Qt IDE。此IDE能够跨平台运行,其设计目标是使开发人员能够利用Qt应用程序框架更加快速及轻易的完成开发任务。Qt Creator包括项目生成向导、高级的C++代码编辑器、浏览文件及类的工具、集成了Qt Designer、Qt Assistant、Qt Linguist、图形化的GDB调试前端,集成qmake构建工具等。

3.1.1 优势:

  • 使用强大的 C++ 代码编辑器可快速编写代码
    语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能
  • 使用浏览工具管理源代码
    集成了领先的版本控制软件,包括Git、Perforce和Subversion开放式文件,无须知晓确切的名称或位置搜索类和文件跨不同位置或文件沿用符号在头文件和源文件,或在声明和定义之间切换
  • 为Qt跨平台开发人员的需求而量身定制
    集成了特定于Qt的功能,如信号与槽 (Signals & Slots)图示调试器,对Qt类结构可一目了然集成了Qt Designer可视化布局和格式构建器只需单击一下就可生成和运行Qt项目

3.2 Qt Designer

  用于设计和构建用户界面Widgets。注意也可以选择使用Qt Quick来设计用户界面,而不是Qt Widgets。这样更容易写各种各样的应用。它可以完全定制外观,触摸反应的元素,流畅的动画过渡,支持OpenGL图形加速功能。如果刚接触Qt Designer,可以看看Qt设计师文档。有关如何使用Qt设计师,请参阅Qt设计师快速入门。

3.3 Qt Linguist

  用于界面国际化的重要工具。lupdate可以把.h、.cpp、.ui中需要翻译的字符串提取出来形成.ts文件,然后用linguist翻译。用lerealse生成.qm。

3.4 Qt Assistant

  Qt Assistant被称为Qt助手,是Qt自带的一款可定制、可重新发行的帮助文件浏览器。

附录

  • GUI(Graphical User Interface 用户图形界面),指采用图形的方式显示的计算机操作用户界面。
  • MOC(Meta-Object Compiler 元对象编程)。Qt不是使用“标准的C++”语言,而是对其进行一定程度的扩展。从Qt新增加的关键字signals、slots或emit中就可以看出来。所以Qt编译速度慢,是因为在Qt将源代码交给标准C++编译器前,需要事先将扩展的语法去掉。完成这一操作的就是MOC
  • API(Application Programming Interface 应用程序编程接口)提供应用程序与开发人员基于某软件或硬件无需访问源码(或理解内部工作机制的细节)而访问一组例程的能力。

参考

[1] 一去、二三里.关于Qt.https://blog.csdn.net/liang19890820/article/details/49826231
[2] 豆子.Qt核心剖析: moc.http://blog.51cto.com/devbean/355100
[3] GUI.https://baike.baidu.com/item/GUI/479966?fr=aladdin
[4] api(应用程序编程接口).https://baike.baidu.com/item/api/10154
[5] qt creator.https://baike.baidu.com/item/qt%20creator/7991233?fr=aladdin

猜你喜欢

转载自blog.csdn.net/github_35003236/article/details/80838272