【Qt 学习笔记】Qt 背景介绍

news2024/11/24 14:35:42

  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt 背景介绍

文章编号:Qt 学习笔记 / 01

文章目录

  • Qt 背景介绍
    • 一、什么是 Qt
      • 1. Qt 简介
      • 2. 图形用户界面(GUI)
    • 二、Qt 发展史
    • 三、Qt 版本
      • 1. Qt 6 & Qt 5
      • 2. Qt 许可证
    • 四、Qt 支持的平台
    • 五、Qt 的应用场景


一、什么是 Qt

1. Qt 简介

Qt是一个跨平台的C++开发框架,用于构建图形用户界面(GUI)应用程序。 它包含了丰富的功能和工具,使开发者能够轻松地创建高性能、现代化的应用程序。Qt提供了丰富的GUI控件、绘图功能、网络通信、数据库操作等模块,同时还支持跨平台开发,可以在Windows、macOS、Linux等多个操作系统上运行。Qt还具有良好的可移植性和易于学习的特点,广泛应用于各种领域,如桌面应用程序、移动应用程序、嵌入式系统等。
在这里插入图片描述

2. 图形用户界面(GUI)

图形用户界面(Graphical User Interface,简称GUI)是一种通过图形、图标、按钮和菜单等元素来呈现和操作计算机操作系统和程序的界面。与传统的字符用户界面(Command Line Interface,简称CLI)相比,GUI更加直观和易于使用。

GUI通过使用鼠标、键盘和触摸屏等交互设备来与用户进行交互。用户可以通过点击图标、按钮和菜单等元素来执行相应的操作,如打开文件、复制粘贴内容等。GUI还允许用户同时进行多个任务,可以在屏幕上打开多个窗口,并且可以通过拖拽和调整窗口大小来进行操作。

在这里插入图片描述


二、Qt 发展史

Qt 是一种跨平台的应用程序开发框架,最早由挪威的 Trolltech 公司于1991年开发。以下是 Qt 发展史的一些里程碑:

  • 1991年:Qt 在挪威诺尔兰市诞生,最初命名为“Qt(Quicktime Toolkit)”。它是为了满足 Trolltech 公司内部的软件开发需求而创建的。

  • 1995年:Qt 1.0 发布。这是第一个公开发布的 Qt 版本,支持C++语言开发,并提供了一套图形用户界面(GUI)组件库。

  • 1996年:Qt 被引入到 Linux 平台,从此开始支持多个操作系统。

  • 1998年:Qt 2.0 发布。这个版本引入了多线程支持、外观主题的定制、拖放功能等新功能。

  • 2000年:Qt 被用于开发 KDE 桌面环境,这是一个非常流行的开源桌面环境。

  • 2008年:Qt 被挪威软件公司 Nokia 收购。

  • 2009年:Qt Creator 发布。这是一个用于在 Qt 上进行开发的集成开发环境(IDE)。

  • 2011年:Qt 被 Digia 公司收购。同时发布了 Qt 4.8 版本。

  • 2012年:Qt 5.0 发布。这个版本带来了重大的变化,包括全新的模块化架构和用于构建用户界面的 QML 语言。

  • 2018年:Qt 5.12 发布。这个版本引入了对 Vulkan 图形 API 的支持,以及一些新的模块和功能。


三、Qt 版本

1. Qt 6 & Qt 5

⽬前最新的版本是 Qt 6. 但是相对来说 Qt 6 和 Qt 5 之间的核⼼功能区别不⼤. 并且企业中也仍然有⼤量的项⽬在使⽤ Qt 5.因此使⽤ Qt 5 版本来进⾏介绍.

2. Qt 许可证

另外 Qt 在发布的时候还提供了两种许可证.

商业许可: 开发者以商业⽬的使⽤Qt框架进⾏开发和发布软件的许可,开发者需要购买商业许可并按照相关规定使⽤Qt框架。商业许可提供了更多的功能和服务,适合于商业软件开发。

开源许可: 开发者以⾮商业⽬的使⽤Qt框架进⾏开发和发布软件的许可,开发者可以免费使⽤Qt框架,但需要遵守开源许可协议的要求,如在软件中包含Qt许可协议的声明等。


四、Qt 支持的平台

Qt 是一个跨平台的开发框架,可以在多个操作系统和设备上使用。

Qt 支持的平台非常广泛,包括以下几个主要平台:

Windows:Qt可以在Windows平台上使用,并支持多个版本的Windows操作系统,包括Windows 10、Windows 8和Windows 7等。

macOS:Qt可以在macOS平台上使用,支持多个版本的macOS操作系统,包括macOS Big Sur、macOS Catalina和macOS Mojave等。

Linux:Qt可以在多个Linux发行版上使用,包括Ubuntu、Debian、Fedora和CentOS等。

Android:Qt可以用于开发Android应用程序,支持多个版本的Android操作系统。

iOS:Qt可以用于开发iOS应用程序,支持iPhone和iPad设备。

Embedded Linux:Qt还可以用于嵌入式Linux平台,如Raspberry Pi、BeagleBone Black和Yocto Project等。


五、Qt 的应用场景

  • 桌面应用程序
    Qt 能够创建各种类型的桌⾯应⽤程序,包括⽂件管理器、媒体播放器、绘图程序等。Qt 应⽤程序⽀持多种操作系统,可以运⾏在 Windows、Linux、macOS 等桌⾯操作系统上。
  • 移动应用程序
    Qt ⽀持 Android 和 IOS 移动操作系统,为应⽤程序提供了强⼤的跨平台能⼒。可以使⽤ Qt 构建各种移动应⽤程序,例如社交应⽤、游戏、娱乐等。
  • 嵌入式系统
    Qt 在嵌⼊式领域应⽤⾮常⼴泛,它可以构建⾯向各种设备的图形应⽤程序,在机顶盒、⻋载娱乐系统、安防监控设备等领域具有⼴泛的应⽤。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1563949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue 条件渲染、列表循环渲染、事件绑定 初探第三天

条件渲染 <script>const app Vue.createApp({data(){return {show:true,conditionOne: false,conditionTwo: true,}},template:<div v-if"show"> hello word </div><div v-if"conditionOne"> if </div><div v-else…

[lesson02]C到C++的升级

C到C的升级 C与C的关系 C继承了所有的C特性C在C的基础上提供了更多的语法和特性C的设计目标是运行效率与开发效率的统一 C到C的升级 C更强调语言的实用性 所有的变量都可以在需要使用时再定义 int c 0; for (int i 1; i < 3; i) {for(int j 1; j < 3; j){c i * …

Kubernetes(k8s):部署、使用 metrics-server

Kubernetes&#xff08;k8s&#xff09;&#xff1a;部署、使用 metrics-server 一、metrics-server简介二、部署metrics-server2.1、 下载 Metrics Server 部署文件2.2、修改metrics-server.yaml 文件2.3、 部署 Metrics Server2.4、 检查 Metrics Server 三、使用 Metrics Se…

国资委确定首批起航企业,重点布局人工智能、量子信息等新兴领域

国务院国资委近日按照“四新”&#xff08;新赛道、新技术、新平台、新机制&#xff09;标准&#xff0c;遴选确定了首批启航企业&#xff0c;加快新领域新赛道布局、培育发展新质生产力。 据了解&#xff0c;去年以来&#xff0c;国务院国资委围绕加快培育创新型国有企业&…

hadoop 查询hdfs资源信息的方式

hdfs dfsadmin -report &#xff3b;-live&#xff3d;&#xff3b;-dead&#xff3d;&#xff3b;-decommissioning&#xff3d;

用动态规划求解多段图的最短路径问题

题目描述 对如下图所示的一个5段图&#xff0c;图上的数字代表该段路径的成本。写出求最短路径的计算过程&#xff0c;给出最短路径和距离。 思路分析 创建一个边权数组edgeWeigth&#xff0c;存储顶点和边的信息&#xff0c;用来表示图创建一个cost数组&#xff0c;索引in…

【MySQL系列】使用 ALTER TABLE 语句修改表结构的方法

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

STM32 DWT数据观察触发器作为延时函数的使用

STM32 DWT数据观察触发器作为延时函数的使用 &#x1f4d1;DWT(Data Watchpoint and Trace数据观察触发器&#xff09;描述 &#x1f4dd;DWT是属于处理器内核单元中的调试组件之一&#xff0c;由四个比较器组成。它们可配置为&#xff1a;硬件监视点或对ETM或PC采样器或数据地…

智慧工厂建设全面指南 从规划到实施

随着工业4.0和工业互联网的发展&#xff0c;智慧工厂已成为制造业的热门话题。智慧工厂通过运用先进的信息技术、自动化技术和人工智能技术&#xff0c;实现生产过程的智能化、数字化和网络化&#xff0c;提高生产效率、降低生产成本、提升产品质量&#xff0c;为企业创造更大的…

【C++第二阶段】文件操作

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 文件操作文件写入流程简单的demo写操作 文件读流程二进制写文件二进制读文件 文件操作 文件写入流程 写文件包括以下几个步骤 1.包含头文件 2.创建流对象 3.打开文件&#xff0…

CSS面试题---基础

1、css选择器及优先级 选择器优先级&#xff1a;内联样式>id选择器>类选择器、属性选择器、伪类选择器>标签选择器、微元素选择器 注意&#xff1a; !important优先级最高&#xff1b; 如果优先级相同&#xff0c;则最后出现的样式生效&#xff1b; 继承得到的样式优先…

商城网站-礼品网站首页html+css+js+说明文档

网页设计与网站建设作业htmlcssjs 预览 说明 单页面&#xff0c;轮播图 获取&#xff1a;https://hpc.baicaitang.cn/2077.html

MyBatis-Plus04(条件构造器)

条件构造器和常用接口 wrapper介绍 Wrapper &#xff1a; 条件构造抽象类&#xff0c;最顶端父类 AbstractWrapper &#xff1a; 用于查询条件封装&#xff0c;生成 sql 的 where 条件 QueryWrapper &#xff1a; 查询条件封装 UpdateWrapper &#xff1a; Update 条件封装 A…

【stm32】USART编码部分--串口数据包

USART串口数据包【源码放在最后】 关于数据包的分类 关于数据包的发送 如果想要发送Hex数据包&#xff0c;定义一个数组填充数据&#xff0c;然后使用串口模块函数SendArray进行发送 如果想要发送文本数据包&#xff0c;写一个字符串然后调用SendString进行发送 对于发送数据…

BEV的多传感器融合方案

多模态融合 早期融合&#xff08;Early Fusion&#xff09;晚期融合&#xff08;Late Fusion&#xff09;深度融合&#xff08;Deep Fusion&#xff09; BEVFusion - MITBEVFusion - 阿里&北大UniTR 感知技术中相机和雷达数据融合方法的概述&#xff0c;这些方法分别是早期…

[原创] MOS管选型

一、选型背景 MOS管是常用元器件之一&#xff0c;学校出来后&#xff0c;很多人都对BJT感兴趣和熟悉&#xff0c;对MOS的熟悉度相对BJT要少一些&#xff0c;即使工作了两三年&#xff0c;对MOS的理解也还是不多&#xff0c;下面通过对MOS管的一些参数解读&#xff0c;加深对MO…

第二届安徽省中小学科技竞赛经验交流会暨NOC省赛解读会在肥顺利举办

阳春三月&#xff0c;喜泰开来。3月30日&#xff0c;第二届安徽省中小学科技竞赛经验交流会暨NOC省赛解读会在合肥顺利举办&#xff01;本次会议由安徽省人工智能学会主办&#xff0c;赛哆哆承办&#xff0c;会议吸引了近两百名来自全省的中小学教师和科技培训教师&#xff0c;…

【浅尝C++】STL第三弹=>list常用接口使用示例/list底层结构探索/list模拟实现代码详解

&#x1f3e0;专栏介绍&#xff1a;浅尝C专栏是用于记录C语法基础、STL及内存剖析等。 &#x1f3af;每日格言&#xff1a;每日努力一点点&#xff0c;技术变化看得见。 文章目录 list介绍list常用接口使用示例构造类函数迭代器属性与元素获取增删改操作 list底层结构探索list模…

【保姆级讲解下Docker容器】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

CTK插件框架学习-信号槽(05)

CTK插件框架学习-事件监听(04)https://mp.csdn.net/mp_blog/creation/editor/137171155 一、主要流程 信号发送者告诉服务要发送的信号信号发送者发送信号信号接收者告诉服务当触发某个订阅的主题时通知槽函数信号接收者处理槽函数信号槽参数类型必须为&#xff08;const ctk…