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


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

Day1 | Qt 背景介绍

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

文章目录

  • Day1 | 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/505725.html

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

相关文章

C语言程序与设计——复杂结构

结构体 结构体在C语言中是一种重要的数据类型,或者说是一种用户自定义的相同或不同数据类型的集合。可以帮助我们封装一组相关数据,使其数据呈现更直观。例如我们想要统计一个学校学生的基本信息。可以将一个同学的信息按照如下存储。 typedef struct …

结构化绑定optional(C++基础)

结构化绑定 处理多个返回值的操作&#xff1a;C17提出 之前多返回值喜欢用struct来返回。现在会做成元组&#xff0c;下图中设置C17的版本&#xff0c;不要设置错为C语言标准。 #include<iostream> #include<string> #include<tuple> std::pair<std::st…

【跟着CHATGPT学习硬件外设 | 02】GPIO

文章目录 &#x1f680; 概念揭秘快速入门关键精华 &#x1f31f; 秒懂案例生活类比实战演练步骤1&#xff1a;硬件配置步骤2&#xff1a;软件配置步骤3&#xff1a;发送和接收数据步骤4&#xff1a;处理异常步骤5&#xff1a;优化操作手册硬件设计注意事项配置攻略准备阶段配置…

Docker配置Mysql

1.首页搜索mysql镜像 2.选择对应版本的MySQL&#xff0c;点击pull 3.pull完成以后&#xff0c;点击images&#xff0c;这里可以看到刚刚pull完成的mysql版本 4.打开命令界面&#xff0c;运行命令 docker images ,查看当前已经pull的images 5.运行命令设置mysql docker run -it…

OSCP靶场--Kyoto

OSCP靶场–Kyoto 考点(缓冲区溢出GPO滥用提权) 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.216.31 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-31 08:08 EDT Nmap scan report for 192.168.216.31 Host …

14 - grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)

@[TOC](grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)) 空域法的基本思想是假设地面某区域的质量变化是由一系列位置已知、质量未知的质量块(小范围区域)引起的,那么将GRACE反演的结果归算到n个质量块上的过程就是泄露信号恢复的过程。个人理解是这样的:假定已知研…

Multi-task Lung Nodule Detection in Chest Radiographs with a Dual Head Network

全局头增强真的有用吗&#xff1f; 辅助信息 作者未提供代码

【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍

系列文章目录 【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍 【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍 文章目录 系列文章目录[TOC](文章目录) 前言一、 Linux 发行版(Linux distribution)介绍二、Centos 虚拟机初始化…

【Linux】socket套接字

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 目录 &#x1f449;&#x1f3fb;IP地址和端口号pid和port的关系 &#x1f449;&#x1f3fb;TCP和UDP&#x1f449;&#x1f3fb;网络字节序&…

数据分析之Tebleau 的度量名称和度量值

度量名称 包含所有的维度 度量值 包含所有的度量 度量名称包含上面所有的维度&#xff0c;度量值包含上面所有的度量 当同时创建两个或两个以上度量或维度时&#xff0c;会自动创建度量名称和度量值 拖入省份为行(这会是还没有值的) 可以直接将销售金额拖到数值这里 或者将销售…

C++11 shared_from_this学习

最近学习网络变成发现一些C源码库中封装对象时会公有继承enable_shared_from_this&#xff1b; 用一个案例进行说明&#xff0c;案例代码如下&#xff1a; #include <iostream> #include <memory> #include <stdio.h>using namespace std;class C : public…

ComfyUI一直提示transformers需要升级,怎么解决?

&#x1f3a1;背景 最近通过秋叶的启动器使用Comfyui的时候&#xff0c;总是会有个弹窗提示transformers需要升级&#xff0c;你会发现&#xff0c;就算是更新了ComfyUI版本&#xff0c;升级了所有插件&#xff0c;升级了transformers库&#xff0c;这个提示仍然存在&#xff…

【Spring Security】 快速入门

文章目录 一、 身份认证Demo1、创建工程2、代码编写2.1、Controller2.2、Html2.3、application.properties配置 3、启动项目并访问 二、Spring Security 默认做了什么二、底层原理1.概述2.FiltersDelegatingFilterProxyFilterChainProxySecurityFilterChainSecurity Filters 三…

【docker】搭建Nexus私服

1、拉取镜像 docker pull sonatype/nexus3 2、运行镜像 docker run -d -p 10002:8081 -e NEXUS_CONTEXTnexus --name nexus-quick sonatype/nexus3 3、访问地址&#xff1a; http://localhost:10002/nexus &#xff01;&#xff01;&#xff01;注意我的端口号是…

数据结构--循环链表(C语言实现)

一.循环链表的设计 typedef struct CNode{ int data; struct CNode* next; }CNode ,*CList; 2.循环链表的示意图: 3.循环链表和单链表的区别: 唯一区别,没有空指针,尾节点的后继为头,为循环之意. 二.循环链表的实现 //初始化return true; }//返回key的前驱地址&#xff0c;如果…

查找--二分查找(Binary Search)

二分查找属于静态查找表&#xff0c;当以有序表表示静态查找表时&#xff0c;查找函数可用折半查找来实现。 查找过程&#xff1a;先确定待查记录所在的范围&#xff08;区间&#xff09;&#xff0c;然后逐步缩小范围直到找到或找不到该记录为止。 以处于区间中间位置记录的…

【Chiplet】技术总结

Chiplet基本知识点汇总 1. Wafer, die, chip, cell的区分2. MCM, SiP, SoC, Chiplet的区别4. Chiplets的先进封装5. Chiplet发展阶段 Chiplet基本知识点汇总 1. Wafer, die, chip, cell的区分 Wafer: 晶圆&#xff0c;指一整个晶圆硅片。 Die: 从晶圆上切分下来的小方格&a…

本地GPU调用失败问题解决3重新配置anaconda环境(成功)

1、右键“以管理员身份”打开anaconda prompt conda create -n python 3.9 2、使用官方下载源的配置 3、修改conda下载超时 conda config --set remote_connect_timeout_secs 60 conda config --set remote_read_timeout_secs 100 查看配置结果conda config --show 配置内…

HarmonyOS实战开发-slider组件的使用

介绍 本篇Codelab主要介绍slider滑动条组件的使用。如图所示拖动对应滑动条调节风车的旋转速度以及缩放比例。 相关概念 slider组件&#xff1a;滑动条组件&#xff0c;通常用于快速调节设置值&#xff0c;如音量调节、亮度调节等应用场景。 环境搭建 软件要求 DevEco Stu…

xftp突然无法连接虚拟机

问题描述 使用xftp连接虚拟机的时候一直显示 连接xxx.xxx.xx.xx失败 问题原因查找 首先打开本地cmd命令提示符 ping 你的虚拟机ip地址 我的是 ping 192.168.xx.xx 显示请求超时 解决方案&#xff1a; 点击打开更改适配器选项 右键vmnet 8——属性 如图前四个选项必选 单…