QT初识(1)

news2024/12/23 19:16:17

QT初识

  • 桌面开发
  • 什么是QT
  • 下载QT
  • 安装好之后的工具
    • Assisant
    • Designer
    • QT Creator
  • 创建一个简单的项目

我们今天来认识一下QT。

桌面开发

在了解QT,我们得了解一下桌面开发:

桌面开发指的是编写和构建在个人计算机或其他桌面操作系统(如Windows、macOS、Linux等)上运行的本地应用程序的过程。这类应用程序不依赖于网页浏览器,可以直接在用户的操作系统上安装并独立运行,通常具有以下特点:

  1. 本地性能:桌面应用能够充分利用计算机硬件资源,执行效率较高,特别是对于需要大量计算、图形渲染或实时响应的应用来说,表现更优。
  2. 离线能力:许多桌面应用并不需要持续的互联网连接即可正常使用。
  3. 深度集成:可以与操作系统的底层功能紧密集成,比如访问文件系统、硬件设备、系统设置等。
  4. 用户界面:桌面应用可以设计出丰富的图形用户界面(GUI),并且可以利用操作系统提供的原生UI组件和交互方式。
  5. 开发工具与语言:开发桌面应用可以使用多种编程语言和框架,例如C++、C# (.NET Framework 或 .NET Core)、Java (Swing、JavaFX)、Python (Tkinter、PyQt、wxPython)、Objective-C/Swift (针对macOS)等。
  6. 部署与更新:桌面应用需要通过安装包(如.exe、.dmg、.deb等)分发给用户安装,更新时可能需要用户手动下载安装新的版本或者使用自动更新机制。
  7. 局限性:每个桌面应用通常只针对特定操作系统进行开发,跨平台兼容性需要额外的工作量,比如使用跨平台的开发框架或编写不同的代码版本。

说白了,桌面开发就是开发 本地的应用程序,像什么画图板,文件资源管理器之类的而我们的QT就是专门搞这一块的。

什么是QT

Qt(发音为“cute”)是一个由Digia公司开发和维护的开源跨平台应用程序开发框架,主要用于创建图形用户界面(GUI)以及跨平台应用程序。Qt 支持多种编程语言,包括但不限于 C++(主要)、QML(声明式UI语言)和Python,并且它可以用来开发各种类型的应用程序,从简单的命令行工具到复杂的桌面应用程序,再到移动应用、嵌入式系统甚至是Web应用。

在桌面开发方面,Qt 提供了丰富的Widgets库来构建经典的窗口式应用程序,通过这些Widgets,开发者能够轻松地设计出功能强大、界面友好的桌面应用。同时,Qt Quick模块利用QML语言与OpenGL技术实现流畅、现代风格的用户界面设计,特别适用于触屏设备和需要高性能图形表现的场景。

除此之外,Qt 还具备以下特点:

  • 跨平台:Qt 支持Windows、macOS、Linux以及其他Unix变体,还包括嵌入式Linux系统、Android和iOS等移动平台。
  • API一致性:编写一次代码可在多个平台上运行,极大地提高了开发效率。
  • 社区活跃:Qt有一个庞大的开发者社区和丰富资源,如教程、文档和技术支持。
  • 开发工具:Qt Creator是一个完整的集成开发环境,它包含了项目管理、代码编辑、调试、构建和版本控制等一系列功能。

因此,对于桌面应用开发而言,Qt因其强大的功能、高度的可定制性和良好的性能而被广泛采用。

下载QT

点击下方的链接进入官网:

https://download.qt.io/archive/qt/

在这里插入图片描述
选中5.14版本,进去:
在这里插入图片描述
随便挑一个版本进去:
在这里插入图片描述
选择对应版本安装即可。

安装的时候基本一路next就行了,如果是第一次装会让你申请一个账户,申请就完事了,同时在装组件的时候,勾选下面的选项:
在这里插入图片描述

安装好之后的工具

Assisant

在这里插入图片描述
是一个离线的文档:
在这里插入图片描述

Designer

图形化设计界面的一个工具,一般不单独使用,会配合QT Creator一起使用:
在这里插入图片描述
在这里插入图片描述

QT Creator

这个才是我们要关注的,这个就是我们的IDE开发环境:
在这里插入图片描述
在这里插入图片描述

创建一个简单的项目

单击左上方的文件:
在这里插入图片描述
选择新建项目或者文件:
在这里插入图片描述
在这里插入图片描述这个时候会让我们选择模板,我们是初学者,选择Widgets就行:
在这里插入图片描述
这个时候进入基本配置了,改好名称和路径之后,进入下一步:
在这里插入图片描述这里的Build System就选qmake(如果有小伙伴安装了cmake,也可以用cmake)

在这里插入图片描述之后进入下一步:
在这里插入图片描述在Base Class这里我们可以选择基本的类型:
在这里插入图片描述

之后的Translation可以直接下一步,来到Kits
在这里插入图片描述这个是让你选择构建项目的时候所用的工具组,我这里只有一个,就选这一个。(如果有多个,可以选择另外的)

最后的Summary可以直接点击完成,项目构建完成:
在这里插入图片描述
我们可以点击左下角的开始键来运行项目:
在这里插入图片描述

运行成功,会有一个界面:
在这里插入图片描述

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

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

相关文章

论文笔记 - :MonoLSS: Learnable Sample Selection For Monocular 3D Detection

论文笔记✍MonoLSS: Learnable Sample Selection For Monocular 3D Detection 📜 Abstract 🔨 主流做法限制 : 以前的工作以启发式的方式使用特征来学习 3D 属性,没有考虑到不适当的特征可能会产生不利影响。 🔨 本…

全面概述Gitee和GitHub生成/添加SSH公钥

前言 现如今将代码开源已经成为软件开发行业的一种趋势,而现在比较有名的代码托管平台有GItHub、Gitee、Gitlab等相关平台。而我们在使用代码托管平台最为常见的就是如何将自己本地的代码推送到远程托管平台中的仓库中,现如今各大托管平台基本上都提供了…

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题 一、运行环境 1、硬件 手机型号:NOVA 7 系统:HarmonyOS版本 4.0.0 2、软件 android SDK platforms:14.0(API Level 34)、13.0(API Level 33) SDK Build-T…

jvm类加载机制概述

、什么是jvm的类加载机制 类加载机制是指我们将类的字节码文件所包含的数据读入内存,同时我们会生成数据的访问入口的一种 特殊机制。那么我们可以得知,类加载的最终产品是数据访问入口。 加载类文件(即.class文件)的方式有以下几…

一些基本类上实用的注解及例子

文章目录 一些基本类上实用的注解及例子一、Data二、Accessors三、AllArgsConstructor四、NoArgsConstructor五、EqualsAndHashCode六、后面在补充!先这样吧,哈哈!总结 一些基本类上实用的注解及例子 一、Data Data 注解是一个组合注解&…

Django源码之路由的本质(上)——逐步剖析底层执行流程

目录 1. 前言 2. 路由定义 3. 路由定义整体源码分析 3.1 partial实现path函数调用 3.2 图解_path函数 3.3 最终 4.URLPattern和Pattern的简单解析 5. 小结 1. 前言 在学习Django框架的时候,我们大多时候都只会使用如何去开发项目,对其实现流程并…

linux 软中断入门

在 linux 中,任务执行的载体有很多,包括线程,中断,软中断,tasklet,定时器等。但是从本质上来划分的话,任务执行的载体只有两个:线程和中断。软中断和 tasklet 的执行可能在中断中&am…

云服务器8核32G配置报价大全,腾讯云、阿里云和京东云

8核32G云服务器租用优惠价格表,云服务器吧yunfuwuqiba.com整理阿里云8核32G服务器、腾讯云8核32G和京东云8C32G云主机配置报价,腾讯云和京东云是轻量应用服务器,阿里云是云服务器ECS: 阿里云8核32G服务器 阿里云8核32G服务器价格…

9.动态规划——2.最大序列和

例题——最大序列和 找状态 思路一() 定义一个状态 d p [ i ] dp[i] dp[i],计为前i个数构成子序列和的最大值 此法状态转移比较困难,即若 d p [ i ] dp[i] dp[i]与 d p [ i − 1 ] dp[i-1] dp[i−1]没有明确的关系,有…

获取电商数据的几种方法分享

在数字化时代,电商数据已经成为企业决策的重要依据。无论是市场趋势的洞察、用户行为的分析,还是产品优化和营销策略的制定,都离不开电商数据的支持。本文将分享几种获取电商数据的有效方法,力求在干货满满的同时,也不…

PyCharm中出现Microsoft Defender配置建议

原因 Windows安全中心的病毒和威胁防护会自动扫描电脑中的文件夹,我们的项目文件夹和IDE文件夹也会被扫描,而PyCharm认为这会降低IDE性能。 解决方法 直接点击提示框里的自动。 或是手动给扫描添加排除项,步骤如下: 1、先打开…

Sui原生功能如何改变链上游戏体验

从zkLogin到可编程交易区块(PTB),Sui的原生功能为游戏开发人员提供了工具,最终利用了Web3的力量,给玩家带来了新的体验和参与度。之前的区块链在支持链上游戏方面存在技术上的局限,但是Sui提供了开发人员所…

受益于边缘计算的三个关键应用

边缘计算和 5G 网络正在改变物联网,增强跨多个领域的广泛应用的功能,并催生大量新兴应用。我们通过研究三个突出的用例来说明边缘计算的强大功能。 工业4.0智能工厂 工业 4.0 为制造商提供了基于灵活的工业环境提高生产力和盈利能力的愿景,…

AR-Net网络(图像篡改检测)

AR-Net网络 摘要AbstractAR-Net1. 文献摘要2. 研究背景3. 创新点4. AR-Net 网络架构5. 实验6. 结论总结 摘要 AR-Net使用自适应注意力机制来融合位置和通道维度的特征,使网络能够充分利用不同维度的被篡改特征,此外,AR-Net 改进了预测掩模&a…

牛客NC92 最长公共子序列(二)【中等 动态规划 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/6d29638c85bb4ffd80c020fe244baf11 思路 https://blog.csdn.net/qq_36544411/article/details/120021203 思路 动态规划法, 我们以dp[i][j]表示在s1中以第i个元素结尾,s2中以第j个元素结…

【JavaSE】初识线程,线程与进程的区别

文章目录 ✍线程是什么?✍线程和进程的区别✍线程的创建1.继承 Thread 类2.实现Runnable接口3.匿名内部类4.匿名内部类创建 Runnable ⼦类对象5.lambda 表达式创建 Runnable ⼦类对象 ✍线程是什么? ⼀个线程就是⼀个 “执行流”. 每个线程之间都可以按…

常见微服务的组件?

注册中心:就是一个服务注册的地方,我们可以把拆分的服务注册到注册中心,这样注册中心就能管理这些服务,服务之间的调用就会很方便,通过服务名就能相互调用。 负载均衡:被调用放的负载均衡,比如…

人工智能产业应用--具身智能

五、下一个浪潮 (一) 跳出缸中脑——虚实结合 在探索人工智能的边界时,“跳出缸中脑——虚实结合”这一概念提出了一个引人深思的视角,尤其是在具身智能的领域。具身智能是一种思想,强调智能体通过与其环境的直接物理互动来实现智能行为。然…

[MSSQL]理解SQL Server AlwaysOn AG的备份

AG提供了以下几种备份策略 下面来看看各项的解释 Prefer Secondary(首选辅助副本) 应在辅助副本上执行此可用性组的自动备份。如果没有可用的辅助副本,将在主副本上执行备份。 这个选项只是概念上的选项。基本上,用户可以从任何复制节点上执行备份命令。 我们可以在主副本…

Django DRF视图

文章目录 一、DRF类视图介绍APIViewGenericAPIView类ViewSet类ModelViewSet类重写方法 二、Request与ResponseRequestResponse 参考 一、DRF类视图介绍 在DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。 • View:Django默认的视图基类&…