第51篇 Qt 5.5全新的开始

news2024/11/28 0:50:59

导语

时间转眼而逝,看一下上次发的教程,已经是一年前的事情了。这一年发生了很多事情,包括自己也包括Qt。当然,自己很忙或者说为了编写《Qt 5编程入门》这些理由,并不能为一年的搁置进行开脱,所以这里首先还是要向广大读者,跟随yafeilinux一起走来的朋友说声抱歉,让你们久等了。

我一直把写博文写教程当做是一种爱好,即便是技术类博文也是如此,想到哪里就写哪里,少了点技术类文章的严谨,多了点抒情类文章的随性。这也是我教程的一种风格,我坚信只有爱好的东西才能做到完美,做大极致,编程亦如此。一年没有更新博文,也是觉得有些时候,有点急功近利了,这不符合我写这个系列教程的初衷,所以即便很多朋友邀我尽快更新,我还是没有为了应付而进行大幅度更新。

其实这一年中我也一直在做一些和Qt有关的事情,比如说前面提到的《Qt 5编程入门》,这个是和豆子(devbean)一起写的,现在已经出版上市了。在写这本书的同时,想了很多,也有很多好的东西想和大家分享,但是还是因为精力有限......再比如说为《Qt Creator快速入门》编写了实验讲义和PPT课件,完成这个的时候,我对该书第三版已经有了大致的思路,也本想早早和大家探讨,但还是因为精力有限......再有就是和天嵌科技合作的嵌入式教程,这个也是和hzzhou合作的教程,年初的时候用三个月跟hzzhou合作开发了一个小项目,这次再次合作,将探索Linux嵌入式编程教程的编写。

好了,好像扯了很多废话,现在终于有时间让自己静下心来了,万事开头难,只要开始了就要坚持下去,以后的一段时间,将以更新教程为主要业余工作。这一篇之所以叫全新的开始,既是因为Qt开源(qt-project.org)和Qt商业(qt.digia.com)进行合并,成立了Qt全资子公司,而且发布了全新的qt.io网站,也是因为最新的Qt 5.5版本已经公布,还有就是,一年没有写网络教程了,风格和思路可能会与以前有所不同。 作为全新开始的第一篇,这里不涉及太多的技术问题,而是讲一些新接触Qt应该了解的内容。后面的章节我们会从Qt Quick编程讲起,如果要学习C++ Widget编程,可以参考前面的文章。

环境:Windows 7 + Qt 5.5.0+QtCreator 3.4.2

目录

  • 一、下载Qt
  • 二、安装Qt
  • 三、激活Qt账户
  • 四、学习Qt视频教程
  • 五、运行一个示例程序

正文

一、下载Qt

这里先说一下,很多同学不知道Qt去哪里下载,尤其是老版本的Qt根本不知道哪里可以找到,其实现在可以到 http://download.qt.io 上下载所有Qt开源的内容,其目录如下图所示。

这里最主要的目录是official_releases,其中提供了官方发布的正式版软件。就是说要使用正式发布的稳定版Qt、Qt Creator等,到这里下载;而在archive目录中是存档内容,这里是Qt和Qt Creator的仓库,里面包含了所有的版本,所以如果想找老版本的同学可以在这个目录中查找。其他几个目录提供了一些相关的软件或者工具,比如在snapshots目录中可以下载到最新版本的快照,不过可能只提供了源码还需要自己进行编译。

这里我们下载development_releases→qt→5.5→5.5.0中的:

qt-opensource-windows-x86-android-5.5.0.exe

为了便于大家下载,在我们qter论坛的下载页面提供了便捷下载链接,如下图所示。

比如点击“Qt SDK下载”按钮进入页面,进入后会默认显示最新Qt版本的下载,如果要下载其他内容,可以点击Parent Directory跳转到上一层目录。

二、安装Qt 5.5

进行Qt 5.5的安装,与以前的版本稍微不同的地方是,一开始会提示让登陆或者注册Qt社区账户。如下图所示。

如果已经有了一个Qt账户,可以直接填写Login后面的账户邮箱和密码;如果没有注册过,可以在Sign-up后面填写要注册的邮箱、密码。如下图所示。

当然也可以点击Skip按钮直接跳过这一步。不过拥有一个Qt账户还是很有用的,比如可以到Qt论坛进行发帖等。所以我们这里选择注册一个新的Qt账户,这里要注意,输入的密码至少要7位,不能包含上面输入的邮箱地址,而且要包括小写字母、大写字母、数字和符号四种类型中的三类。如下图所示。

输入完密码后,勾选下面的同意服务条款选项,然后就可以点击Next按钮继续安装Qt了。如下图所示。

首先要设置安装路径,注意安装路径中不要有中文。这里我们选择默认的路径,如下图所示。

下一步是选择组件,默认的选项已经满足我们的开发要求了,如果有其他要求,比如需要源码组件或者Android armv5开发,可以进行相关选择。如下图所示。

再往下是勾选同意许可协议。如下图所示。

当安装完成后,默认Launch Qt Creator是勾选的,这样点击完成按钮就会自动启动Qt Creator,如下图所示。

三、激活Qt账户

QtCreator运行后如下图所示,还是我们熟悉的界面。在正式讲解前,我们再来说说Qt账户,点击欢迎界面的QtAccount链接,可以快捷登陆Qt账户。

这时会弹出浏览器窗口,显示Qt账户登陆界面。我们可以输入前面注册过的账户,然后点击Sign in按钮,如下图所示。

如果是第一次登陆,会提示让验证邮箱,点击如下图所示的链接。

这时会提示已经向注册的邮箱发送了验证链接,如下图所示。

现在我们登陆自己注册的邮箱,打开Qt发送来的邮件,然后将Verify now后面的链接复制粘贴到浏览器地址栏进行访问。如下图所示。

在弹出的页面填写一些个人信息后,点击Confirm按钮,如下图所示。

现在就完成了Qt账户的验证,登陆Qt账户以后,可以更好的使用Qt社区的一些内容,比如Documentation文档、Blog博客、WiKi百科、Forum论坛等。如下图所示。

四、学习Qt视频教程

在欢迎界面点击“教程”按钮,可以看到Qt提供的一些视频教程,如下图所示。

我们点击一个视频,发现它是放在YouTube上的,这样国内的同学也许无法直接访问,不过还是可以通过一些方式来登陆YouTube的,这个有兴趣的同学可以百度一下。视频教程的播放效果如下图所示。

当然,视频教程是英文的,别说自己英文不好,编程里面除了数字符号,都是英文了,所以尝试接触英文教程是学好编程必须做的。

五、运行一个示例程序

下面点击“示例”按钮,我们来运行一个Qt自带的示例程序。比如这里选择第二个Planets Example示例,它是Qt 5.5中新增的canvas3d演示程序,如下图所示。

这时会自动弹出该示例的帮助文档,如下图所示。

如果想在Qt Creator的帮助模式里查看该文档,可以直接点击上面的“Go to HelpMode”,这样该文档就会在帮助模式中显示。如下图所示。

现在在左下角可以看到planets项目还未配置,可以在项目模式中进行配置,如下图所示。

点击项目模式,可以看到默认选择了Desktop Qt 5.5.0MinGw套件,这表明是基于Qt5.5.0使用MinGw编译的桌面程序,也就是说安装好Qt 5.5,就自动为我们配置好了开发环境,可以直接使用。我们单击下面的ConfigureProject按钮来配置该项目。如下图所示。

这时可以看到右下角读取项目的进度,如下图所示。

程序打开后,可以在左上角看到整个项目的源码列表。现在可以点击左下角的绿色三角运行按钮来编译运行该程序。如下图所示。

程序运行效果如下图所示。大家可以看到Qt 5程序的强大功能。

因为自带的示例程序是以后学习的参考,所以,如果想在程序上进行改动,最好在源码的备份上进行修改。要定位到该程序的源码,可以在列表文件上右击,然后点击“在Explorer中显示”,如下图所示。

现在看到程序的源码目录了,如下图所示,可以将其复制到其他位置,然后重新打开该项目,以后就可以按照自己的意愿修改该项目了,如果把项目修改的面目全非了,又想恢复到原始状态,只需要再次拷贝一下源码即可。

小结

从整体下载、安装并运行示例程序的过程看来,Qt 5.5版本与以前的版本变化并不大。在这一篇中我们下载并安装好了Qt SDK,然后通过一个示例程序测试了安装的Qt SDK可以使用,这样就完成了我们开发环境的搭建,从下一篇开始,我们将进入QtQuick的世界。

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

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

相关文章

人工智能前沿——6款AI绘画生成工具

>>>深度学习Tricks&#xff0c;第一时间送达<<< 目录 一、【前言】 二、【6款AI绘画生成工具】 1.DeepAI 2.NightCafe 3.Deep Dream Generator 4.StarryAI 5.Fotor 6.Pixso 一、【前言】 AI不仅影响商业和医疗保健等行业&#xff0c;还在创意产业中…

Flutter Web CORS解决方案2-代理转发协议

Flutter Web CORS解决方案2local-cors-proxyshelf_proxydart run shelf_proxyflutter run --dart-definewrap with shellhelp & usagemode & confrun & debuglaunch with proxyvscodeAndroid Studio遗留问题本文介绍第二种解决FlutterWeb CORS问题的方案&#xff1…

[附源码]Nodejs计算机毕业设计基于web的企业人事管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

Centos7下Samba服务器配置

环境 vm下centos7.6&#xff0c;IP地址&#xff1a;192.168.139.200 Samba概述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件&#xff0c;由服务器及客户端程序构成。SMB&#xff08;Server Messages Block&#xff0c;信息服务块&#xff09;是一种在局域网上共享文…

STM32H747AGI6技术、STM32H747AII6规格、STM32H747BGT6产品概述

产品概述&#xff1a;STM32H7高性能MCU基于高性能Arm Cortex-M7 32位RISC内核&#xff0c;工作频率高达400MHz。Cortex-M7内核具有浮点单元 (FPU) 精度&#xff0c;支持Arm双精度&#xff08;符合IEEE 754标准&#xff09;和单精度数据处理指令与数据类型。STM32H7 MCU支持全套…

第48篇 进阶(八) 3D绘图简介

导语 OpenGL是一个跨平台的用来渲染3D图形的标准API。在Qt中提供了QtOpenGL模块&#xff0c;从而很轻松地实现了在Qt应用程序中使用OpenGL&#xff0c;这主要是在QGLWidget类中完成的。因为3D绘图涉及到了专业方面的内容&#xff0c;我们下面只是讲解最简单的使用&#xff0c;…

Java基础之LinkedList

Java基础之LinkedList一、介绍二、add()一、介绍 底层是一个双向链表实现的List&#xff0c;内部每一个节点采用内部类Node表示&#xff0c;通过first、last引用分别指向链表的第一和最后一个元素非线程安全&#xff0c;可以用Collections.synchronizedList()方法对其进行包装…

Android入门第44天-Android里使用动态BroadCast

BroadCast是什么 BroadcastReceiver就是应用程序间的全局大喇叭&#xff0c;即通信的一个手段&#xff0c; 系统自己在很多时候都会发送广播&#xff0c;比如电量低或者充足&#xff0c;刚启动完&#xff0c;插入耳机&#xff0c;你有一条新的微信消息。。。这种都是使用Broad…

Windows实时运动控制软核(二):LOCAL高速接口测试之Qt

今天&#xff0c;正运动小助手给大家分享一下MotionRT7的安装和使用&#xff0c;以及使用Qt对MotionRT7开发的前期准备。 01 MotionRT7简介 MotionRT7是深圳市正运动技术推出的跨平台运动控制实时内核&#xff0c;也是国内首家完全自主自研&#xff0c; 自主可控的Windows运动…

redis的客户端

关系型数据库存储在磁盘当中&#xff0c;非关系型数据库存储在内存中 Jedis 第一步&#xff1a;导入依赖包 <dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</vers…

操作系统学习笔记

1.1 操作系统的概念、功能和目标 1.1.1 操作系统的功能和目标–系统资源的管理者 进程是一个程序的执行过程。执行前需要将该程序放到内存中&#xff0c;才能被CPU处理。 1.1.2 用户和计算机硬件之间的接口 联机命令接口交互式命令接口 脱机命令接口批处理命令接口 1.1.3…

点击化学标记试剂N3-PEG-DBCO,DBCO-PEG-azide,二苯并环辛炔聚乙二醇叠氮

N3-PEG-DBCO &#xff0c;DBCO PEG N3 &#xff0c;DBCO-PEG-azide&#xff0c;叠氮聚乙二醇环辛炔&#xff0c;二苯并环辛炔聚乙二醇叠氮产品规格&#xff1a; 1.分子量&#xff1a;1k&#xff0c;2k&#xff0c;3.4k&#xff0c;5k&#xff0c;10k&#xff0c;20k&#xff08…

百度地图三维盒子模型标注

效果图 利用百度地图mapv实现地图盒子模型标准 代码 function box() {var griddata [];for (var i 0; i < arr.length; i) {griddata.push({geometry: {type: Point,coordinates: arr[i]},properties: {count: Math.random() * (i 1) * 10000}});}var grid new mapvgl…

MySQL索引下推

1.什么是索引下推? 索引下推(Index Condition PushDown,简称ICP)是从MySQL5.6开始引入的一个特性,索引下推通过减少回表的次数来提高数据库的查询效率; 2.案例 准备: ①.为了演示索引下推,需要安装MySQL5.5和MySQL5.7两个版本的MySQL,因为索引下推是MySQL5.6版本中开始引入…

Java学习之断点调试

目录 应用场景 重要提示 定义 快捷键 运行图 案例1 案例2 案例3 案例4 练习题 第一题 题目 代码 toString方法 第二题 题目 应用场景 查找错误时&#xff0c;用断点调试一步一步的看源码执行的过程&#xff0c;从而发现错误所在 重要提示 在断点调试&#xff08;…

搭建hadoop单机环境

hadoop 笔记 sbin: 一些启动脚本 【服务端的 server bin】logs: 存放 hadoop 相关日志bin: 客户端的脚本etc: hadoop 相关的配置文件 格式化文件系统 配置免密码登录 ssh-keygen -t rsa -P -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys# 启动…

Android DataBinding之布局中(layout)事件、运算逻辑、资源、工具类的使用与详解(七)

一、介绍 如果你学习了我前面的六篇文章&#xff0c;基本能够熟悉的处理data binding在开发过程的大多数业务&#xff0c;但是由于layout中的数据不一定满足UI上的效果&#xff0c;正常都是提前处理好数据&#xff0c;如果我们在layout引入中事件、运算逻辑、资源、工具类&…

【离散数学】代数系统 测试

1.判断题 代数系统中一个元素的左逆元一定等于该元素的右逆元。 正确答案&#xff1a; 错误 2.判断题 一个循环群的生成元不是唯一的。 正确答案&#xff1a; 正确 3.判断题 任何循环群必定是阿贝尔群&#xff0c;反之亦真。 正确答案&#xff1a; 错误 4.判断题 任何一个循环群…

gitlab-runner 的安装

Gitlab-ci说明 是GitLab内置的进行持续集成的工具&#xff0c;只需要在仓库根目录下创建.gitlab-ci.yml 文件&#xff0c;并配置GitLab Runner&#xff1b;每次提交的时候&#xff0c;gitlab将自动识别到.gitlab-ci.yml文件&#xff0c;并且使用Gitlab Runner执行该脚本 Gitl…

关于Redis数据库,我问了ChatGPT几个问题

最近互联网刮起了一阵ChatGPT风&#xff0c;从程序猿、产品经理、运营再到大学生&#xff0c;都在跟ChatGPT对话&#xff01;例如&#xff1a; 请帮我检查这段代码的BUG 请帮我设计一款功能像虹科VUZIX一样的智能AR眼镜 虹科Domo数据可视化工具有什么功能 帮我写一篇关于Weka并…