当前位置: 首页 > news >正文

QT入门篇

1. Qt概述

1.1 Qt的特点

* 是一个跨平台的C++应用程序开发框架
* 具有短平快的优秀特质: 投资少、周期短、见效快、效益高
* 几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发
* 有属于自己的事件处理机制
* Qt是标准c++的扩展, c++的语法在Qt中都是支持的
* 良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,可以快速上手。
* Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。
* 广泛用于开发GUI程序,也可用于开发非GUI程序。
* `graphical user interface`
* 有丰富的 API
* Qt 包括多达 250 个以上的 C++ 类
* 可以处理正则表达式。
* 支持 2D/3D 图形渲染,支持 OpenGL
* Qt给程序猿提供了非常详细的官方文档
* 支持XML,Json
* 框架底层模块化, 使用者可以根据需求选择相应的模块来使用

1.2 Qt中的模块

Qt类库里大量的类根据功能分为各种模块,这些模块又分为以下几大类:

* Qt 基本模块(Qt Essentials):提供了 Qt 在所有平台上的基本功能。
* Qt 附加模块(Qt Add-Ons):实现一些特定功能的提供附加价值的模块。
* 增值模块(Value-AddModules):单独发布的提供额外价值的模块或工具。
* 技术预览模块(Technology Preview Modules):一些处于开发阶段,但是可以作为技术预览使用的模块。
* Qt 工具(Qt Tools):帮助应用程序开发的一些工具。

Qt官网或者帮助文档的“All Modules”页面可以查看所有这些模块的信息。以下是官方对Qt基本模块的描述。关于其他模块感兴趣的话可以自行查阅。

模块描述
Qt CoreQt 类库的核心,所有其他模块都依赖于此模块
Qt GUI设计 GUI 界面的基础类,包括 OpenGL
Qt Multimedia音频、视频、摄像头和广播功能的类
Qt Multimedia Widgets实现多媒体功能的界面组件类
Qt Network使网络编程更简单和轻便的类
Qt QML用于 QML 和 JavaScript 语言的类
Qt Quick用于构建具有定制用户界面的动态应用程序的声明式框架
Qt Quick Controls创建桌面样式用户界面,基于 Qt Quick 的用户界面控件
Qt Quick Dialogs用于 Qt Quick 的系统对话框类型
Qt Quick Layouts用于 Qt Quick 2 界面元素的布局项
Qt SQL使用 SQL 进行数据库操作的类
Qt Test对应用程序和库进行单元测试的类
Qt Widgets用于构建 GUI 界面的 C++ 图形组件类

1.3 Qt案例

Qt发展至今已经是一个非常成熟的框架,基于这个框架许多公司开发出了很多优秀的软件,下边给大家介绍几款我们常见到的软件:

* `VirtualBox`:虚拟机软件。
* `VLC多媒体播放器`:一个体积小巧、功能强大的开源媒体播放器。
* `YY语音`:又名“歪歪语音”,是一个可以进行在线多人语音聊天和语音会议的免费软件。
* `咪咕音乐`:咪咕音乐是中国移动倾力打造的正版音乐播放器
* `WPS Office`:金山公司(Kingsoft)出品的办公软件,与微软Office兼容性良好,个人版免费。
* `Skype`:一个使用人数众多的基于P2P的VOIP聊天软件。

2. 安装

Qt下载地址:
https://download.qt.io/archive/qt/
本教程基于Window平台 Qt 5.14.2 给大家讲解如何进行安装和相关配置.

2.1 安装步骤

http://www.cnnetsun.cn/news/3251987.html

相关文章:

  • ADS131M02与PIC24EP512GU814的高精度ADC系统设计
  • 2026大直径紧固件双叠自锁垫圈怎么选型
  • 使用英特尔流式SIMD扩展优化动画模型的 渲染 流水线
  • MAX77654与PIC18LF46K40的嵌入式电源管理方案
  • 有些软件明明就是财务软件,为什么要说是ERP呢?
  • 终极指南:3分钟掌握Boss-Key老板键,一键保护你的数字隐私空间
  • MP2672A双节锂电池充电管理与STM32控制方案
  • 如何用AI快速移除图片和视频背景?BackgroundRemover完整指南
  • 夏天,死磕这 6 个燃脂行为,体脂率下降 5%!
  • Steam挂刀神器:5分钟搭建你的饰品交易监控系统,发现隐藏利润空间!
  • 终极指南:如何彻底解决MHY扫码器直播监视功能崩溃问题 [特殊字符]
  • 有没有覆盖全学段的靠谱论文 AI?整理一份不白花冤枉钱工具榜单
  • Flink 1.18.0 本地模式性能初探:WordCount作业737ms运行时间分析
  • Go入门:代码格式化与gofmt使用指南
  • TRAE:面向 Vue 3 移动端开发的 AI IDE 工作流
  • Kilo Code:面向工程落地的跨端AI编程加速器
  • EB Tresos 26.2.0 配置 TC389 CAN/LIN:从硬件原理图到通信测试的 7 步实战
  • 【Bug已解决】Claude Code MCP server connection timeout — Claude Code MCP 连接超时解决方案
  • Agent 核心原理:把关键能力落到项目里
  • Caspar:基于符号编程的GPU加速非线性优化库
  • 矢量积法与微分变换法:2 种雅可比矩阵求解方案的 MATLAB 实现与对比
  • BQ25887充电管理芯片与MCU在电池平衡系统中的应用
  • Rhino 8.20 SR20安装配置全指南:兼容性、GPU加速与插件避坑
  • 一天搭建企业级电商应用:AI驱动开发实战指南
  • 双节锂电池主动均衡方案与MP2672A应用详解
  • NSGA-II 多目标遗传算法 Python 实战:SVM 超参数优化 Pareto 前沿可视化
  • Python 3.12 字典性能优化 3 要点:从 O(n) 到 O(1) 的查询实践
  • PInVerify:面向物理实体多视角验证的鲁棒性数据集
  • DeepFilterNet ONNX导出实战:实现音频降噪模型的跨平台部署
  • Android 14 刷机报错深度解析:从‘Can not load Android system’到3种数据挽救方案