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


  • 博客主页: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 在嵌⼊式领域应⽤⾮常⼴泛,它可以构建⾯向各种设备的图形应⽤程序,在机顶盒、⻋载娱乐系统、安防监控设备等领域具有⼴泛的应⽤。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AttributeError: ‘Namespace‘ object has no attribute ‘EarlyStopping‘

报错原因 这个报错信息表明在Python脚本train.py中尝试访问命令行参数args.EarlyStopping时出错,具体错误是AttributeError: Namespace对象没有名为EarlyStopping的属性。 在Python的argparse模块中,当我们通过命令行传递参数并解析时,解析…

UGUI 进阶

UI事件监听接口 目前所有的控件都只提供了常用的事件监听列表 如果想做一些类似长按,双击,拖拽等功能是无法制作的 或者想让Image和Text,RawImage三大基础控件能够响应玩家输入也是无法制作的 而事件接口就是用来处理类似问题 让所有控件都…

10秒钟用python接入讯飞星火API(保姆级)

正文: 科大讯飞是中国领先的人工智能公众公司,其讯飞星火API为开发者提供了丰富的接口和服务,以支持各种语音和语言技术的应用。 步骤一:注册账号并创建应用 首先,您需要访问科大讯飞开放平台官网,注册一个…

dcoker 下redis设置密码

修改Docker里面Redis密码 Redis是一个开源的内存数据结构存储系统,常用于缓存、消息队列和数据持久化等场景。在使用Docker部署Redis时,默认情况下是没有设置密码的,这可能会导致安全隐患。因此,为了保证数据的安全性&…

2024环境,资源与绿色能源国际会议(ICERGE2024)

2024环境,资源与绿色能源国际会议(ICERGE2024) 会议简介 2024环境、资源与绿色能源国际会议(ICERGE2024)将于2024年在三亚举行。该会议是一个围绕环境、资源与绿色能源研究领域的国际学术交流活动。 会议主题包括但不限于环境科学、环境工程、资源利用、绿色能源开…

微信小程序上传代码到远程仓库

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

MySQL安装卸载

目录 1.概述 2.安装 2.1.安装 2.2.配置 3.卸载 3.1.停服务 3.2.卸载组件 3.3.删除安装目录 3.4.删除数据目录 3.5.检查残留 1.概述 MySQL是一个广受欢迎的关系型数据库管理系统,最初由瑞典的MySQL AB公司开发,现在是Oracle旗下的产品。作为最流…

海外媒体宣发技巧解析从而提升宣发效果

在当今全球化的媒体环境下,海外媒体宣发是企业和品牌推广的重要手段。然而,要在海外市场取得成功,一味地复制国内的宣发策略是行不通的。要想提升宣发效果,就必须了解并掌握一些海外媒体宣发的技巧。世媒讯一家从事海内外媒体的推…

1111111

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

【中文视觉语言模型+本地部署 】23.08 阿里Qwen-VL:能对图片理解、定位物体、读取文字的视觉语言模型 (推理最低12G显存+)

项目主页:https://github.com/QwenLM/Qwen-VL 通义前问网页在线使用——(文本问答,图片理解,文档解析):https://tongyi.aliyun.com/qianwen/ 论文v3. : 一个全能的视觉语言模型 23.10 Qwen-VL: A Versatile…

简直了,被“Java并发锁”问题追问到自闭...

分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/ 故事 地铁上,小帅双目空洞地望着窗外…绝望,发自内心地感到绝望… 距离失业已经过去两个月了,这是小帅接到的第四次面试邀请。“回去等通知吧…”,简简单单的六个字&a…

汽车贴膜改色小程序源码 汽车配色小程序源码 车身改色app源码 带后台 带数据

汽车贴膜改色小程序源码 车身改色app源码 汽车配色小程序源码 带后台 带数据 整站源码,包含完整前端小程序,后台源码,数据库数据。 直接部署,就能使用,源码素材远程开发,可以定制开发。 全开源,…

关于ITIL认证您需要了解的一切

这是一篇关于从业人员、领导者和 ITSM 爱好者指南。ITIL4于2019 年发布。最新版本的 IT 服务管理(ITSM)最佳实践从传统的生命周期方法转变为服务价值体系模型,重点关注价值共创、向业务交付成果以及与其他最佳实践框架的融合。 新版本的框架…

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

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

西门子SMART200PLC与罗克韦尔(AB)PLC之间以太网通讯

智能网关NET422WX支持多点对多点的PLC之间通讯,支持以太网,串口设备混合数据交换;无需编程开发,只须配置数据的起始地址和数量即可,支持热插拔,断电重启后自恢复运行,支持网络跨网段&#xff0c…

Redis断连从框架层面该如何抢救?

前言 上周发生了一件鸡飞狗跳的线上事故,六节点的Redis-Cluster集群所在的大部分机器因为网络带宽问题断连了,排查之后发现是那几台物理机带宽被占满了,导致整个集群因为槽位不满16384而请求失败。并且因为没有考虑缓存失效问题,…

AI改写文案的注意事项

AI改写文案的注意事项 随着人工智能技术的不断发展,AI改写文案成为了一种新兴的应用场景。通过AI改写文案,可以快速生成大量内容,节省时间和人力成本,但在实际应用中也需要注意一些问题和注意事项。 1. 确保内容原创性 尽管AI改…

NumPy创建ndarray数组大揭秘

1.使用 np.array() 创建 使用 np.array() 由 python list 创建 n np.array(list) 注意 numpy 默认 ndarray 的所有元素的类型是相同的 如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str > float > int ndarray 的常…

HarmonyOS 应用开发之同步任务开发指导 (TaskPool和Worker)

同步任务是指在多个线程之间协调执行的任务,其目的是确保多个任务按照一定的顺序和规则执行,例如使用锁来防止数据竞争。 同步任务的实现需要考虑多个线程之间的协作和同步,以确保数据的正确性和程序的正确执行。 由于TaskPool偏向于单个独…

java中split(“.“)失效问题

来源:比较版本号_牛客题霸_牛客网 在写到这道算法题的时候,发现一个问题, String[] leftversion1.split("."); 返回结果为空,经过查阅得知,是split中的正则表达式里的问题,这个 . 代表的意思是…