QT初识(1)

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.mzph.cn/news/783030.shtml

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

相关文章

关系网络c++

题目&#xff1a; 代码&#xff1a; #include<bits/stdc.h>using namespace std;int n,x,y;struct node{int num;//编号 int t;//步数 node(){}node(int sum,int tt){numsum;ttt;} }; int mp[101][101];//图 bool flag[101];//标记 queue<node> q; void bfs() {q…

【Docker】Windows中打包dockerfile镜像导入到Linux

【Docker】Windows中打包dockerfile镜像导入到Linux 大家好 我是寸铁&#x1f44a; 总结了一篇【Docker】Windows中打包dockerfile镜像导入到Linux✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 今天遇到一个新需求&#xff0c;如何将Windows中打包好的dockerfile镜像给迁移…

Autodesk Maya 2025---智能建模与动画创新,重塑创意工作流程

Autodesk Maya 2025是一款顶尖的三维动画软件&#xff0c;广泛应用于影视广告、角色动画、电影特技等领域。新版本在功能上进行了全面升级&#xff0c;新增了对Apple芯片的支持&#xff0c;建模、绑定和角色动画等方面的功能也更加出色。 在功能特色方面&#xff0c;Maya 2025…

equals()和hashcode()的区别【大白话Java面试题】

equals()和hashcode()的区别 大白话 1.equals()&#xff1a;反应的是对象或变量具体的值&#xff0c;及两个对象包含的具体的值&#xff08;可能是对象的引用&#xff0c;也可能是值类型的值&#xff09; 2.hashcode():计算两个对象的哈希值&#xff0c;并返回哈希码&#xff…

逆向分析之antibot

现在太卷了&#xff0c;没资源&#xff0c;很难接到好活&#xff0c;今天群里看到个单子&#xff0c;分析了下能做&#xff0c;结果忙活了一小会&#xff0c;幸好问了下&#xff0c;人家同时有多个人再做&#xff0c;直接就拒绝再继续了。就这次忘了收定金了&#xff0c;所以原…

使用python实现i茅台自动预约

使用python实现i茅台自动预约[仅限于学习,不可商用] 运行: 直接运行 imtApi.py 打包:切换到imt脚本目录,执行打包命令: pyinstaller --onefile imtApi.py这个应用程序可以帮助你进行茅台自动化配置。以下是一些使用说明: 平台注册账号(可用i茅台)不用登录,你可以进行…

Linux的VirtualBox中USB设备无法选择USB3.0怎么办?

在VirtualBox中&#xff0c;如果遇到USB设备无法选择 USB 3.0 的问题&#xff0c;可以尝试按照以下步骤来解决&#xff1a; 确保VirtualBox版本支持USB 3.0&#xff1a;首先&#xff0c;你需要确认你的VirtualBox版本是否支持USB 3.0。一些较旧的版本可能不支持&#xff0c;因此…

一篇搞定AVL树+旋转【附图详解旋转思想】

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…

【Effective Web】页面优化

页面优化 页面渲染流程 JavaScript 》 Style 》 Layout 》 Paint 》 Composite 首先js做了一些逻辑&#xff0c;触发了样式变化&#xff0c;style计算好这些变化后&#xff0c;把影响的dom元素进行重新布局&#xff08;layout&#xff09;,再画到画布中&#xff08;Paint&am…

半导体工艺技术

完整内容点击&#xff1a;【半导体工艺技术】

将jupyter notebook文件导出为pdf(简单有效)

1.打开jupyter notebook笔记&#xff1a; 2.点击file->print Preview 3.在新打开的页面右键打印 4.另存为PDF 5.保存即可 6.pdf效果 &#xff08;可能有少部分图片显示不了&#xff09; 网上也有其他方法&#xff0c;比如将其转换为.tex再转为PDF等&#xff0c;但个人觉…

ubuntu 中安装docker

1 资源地址 进入ubuntu官网下载Ubuntu23.04的版本的镜像 2 安装ubuntu 这里选择再Vmware上安装Ubuntu23.04.6 创建一个虚拟机&#xff0c;下一步下一步 注意虚拟机配置网络桥接&#xff0c;CD/DVD选择本地的镜像地址 开启此虚拟机&#xff0c;下一步下一步等待镜像安装。 3…

数据可视化-ECharts Html项目实战(8)

在之前的文章中&#xff0c;我们学习了如何设置散点图涟漪效果与仪表盘动态指针效果。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢 今天的文章&#xff0c;会…

【c++】类和对象(六)深入了解隐式类型转换

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章我们来到初始化列表&#xff0c;隐式类型转换以及explicit的内容 目录 1.初始化列表1.1构造函数体赋值1.2初始化列表1.2.1隐式类型转换与复制初始化 1.3e…

python基础——文件操作【文件编码、文件的打开与关闭操作、文件读写操作】

&#x1f4dd;前言&#xff1a; 这篇文章主要讲解一下python中对于文件的基础操作&#xff1a; 1&#xff0c;文件编码 2&#xff0c;文件的打开与关闭操作 3&#xff0c;文件读写操作 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;C语言入…

04 | Swoole 源码分析之 epoll 多路复用模块

首发原文链接&#xff1a;Swoole 源码分析之 epoll 多路复用模块 大家好&#xff0c;我是码农先森。 引言 在传统的IO模型中&#xff0c;每个IO操作都需要创建一个单独的线程或进程来处理&#xff0c;这样的操作会导致系统资源的大量消耗和管理开销。 而IO多路复用技术通过…

OceanBase OBCA 数据库认证专员考证视频

培训概述 OceanBase 认证是 OceanBase 官方推出的唯一人才能力认证体系&#xff0c;代表了阿里巴巴及蚂蚁集团官方对考生关于 OceanBase 技术能力的认可&#xff0c;旨在帮助考生更好地学习 OceanBase 数据库产品&#xff0c;早日融入 OceanBase 技术生态体系&#xff0c;通过由…

MYSQL——索引概念索引结构

索引 索引是帮助数据库高效获取数据的排好序的数据结构。 有无索引时&#xff0c;查询的区别 主要区别在于查询速度和系统资源的消耗。 查询速度&#xff1a; 在没有索引的情况下&#xff0c;数据库需要对表中的所有记录进行扫描&#xff0c;以找到符合查询条件的记录&#…

Doris实践——票务平台的实时数仓建设

目录 前言 一、引入 Doris原因 二、基于Doris搭建数据平台 2.1 构建实时数仓 2.2 Flink CDC全库同步 三、基于Doris进行OLAP报表开发 四、未来规划 原文大佬介绍的这篇票务平台的实时数仓建设有借鉴意义&#xff0c;现摘抄下来用作沉淀学习。如有侵权&#xff0c;请告知…

web前端面试题----->VUE

Vue的数据双向绑定是通过Vue的响应式系统实现的。具体原理&#xff1a; 1. Vue会在初始化时对数据对象进行遍历&#xff0c;使用Object.defineProperty方法将每个属性转化为getter、setter。这样在访问或修改数据时&#xff0c;Vue能够监听到数据的变化。 2. 当数据发生变化时…