Ubuntu 20.04安装Qt 5.15(最新,超详细)

Ubuntu 20.04安装Qt 5.15(最新,超详细)

Ubuntu 20.04安装Qt 5.15

前言
Qt 是一个跨平台的应用程序框架,它支持开发 C++ 图形用户界面应用程序。Qt 可以用于开发运行在多种操作系统上的应用程序,包括 Windows、Linux、macOS 和各种移动平台Android 、iOS 等。

下面是官方不再提供开源离线安装程序的说明:

由于 Qt 公司的产品变更,自 Qt 5.15 起不再提供开源离线安装程序。请在 https://www.qt.io/blog/qt-offering-changes-2020 博客中阅读更多有关产品变更的信息。

如果您需要离线安装程序,请考虑我们新的 Qt for Small Business 产品:https://www.qt.io/blog/available-now-qt-for-small-businesses。

部分 Qt 版本 与 Ubuntu 版本 :(注:以下关系仅供参考,博主实测 Qt 5.12.12 在Ubuntu 18.04、20.04、22.04 中都能安装,所以觉得应该与 gcc 版本有更大的关系)

Qt 版本Ubuntu 桌面版本
Qt 5.9、Qt 5.10、Qt 5.11、Qt 5.12、Qt 5.13Ubuntu 16.04
Qt 5.12、Qt 5.13、Qt 5.14、Qt 5.15Ubuntu 18.04
Qt 5.15、Qt 6.0、Qt 6.1、Qt 6.2、Qt 6.3、Qt 6.4Ubuntu 20.04
Qt 6.5、Qt 6.6、Qt 6.8Ubuntu 22.04
Qt 6.8Ubuntu 24.04

我的配置如下:

虚拟机 Ubuntu 20.04 (运行内存 4G、硬盘内存 60G) 、Qt 5.15.2

1. 准备

注册Qt账号

由于使用安装工具必须要输入账号,所以安装之前要注册个账号。点击下面链接注册👇

Qt Account Login (国内邮箱都行)

安装依赖

sudoaptinstall gcc g++ make cmake build-essential libgl1-mesa-dev sudoaptinstall libxcb-cursor0 libxcb-cursor-dev sudoaptinstall gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y 

下载安装工具

由于官方下载站不好进,所以在国内镜像站下载,这里以 清华源 为例,

在这里插入图片描述

2. 安装

chmod +x qt-online-installer-linux-x64-4.8.1.run sudo ./qt-online-installer-linux-x64-4.8.1.run # 执行

安装界面的显示语言会跟随系统语言,我的系统语言是英文,所以界面是英文

  • 这一步会让你选择安装路径和安装方式(默认为自定义安装)

这是选择是否发送匿名数据给Qt官方,让他用来提升用户体验,直接勾 Disable,下一步(Next)

在这里插入图片描述

直接下一步(Next)

在这里插入图片描述

两个都勾上,然后点下一步(Next)

在这里插入图片描述

输入注册的账号,点下一步(Next),等待登录

在这里插入图片描述
这里会有两个细微的区别:
如果你是 sudo ./qt-online-installer-linux-x64-4.8.1.run ,默认路径是 /opt/Qt
如果你是 ./qt-online-installer-linux-x64-4.8.1.run ,默认路径是 /home/用户名/Qt

因为我是 sudo ./qt-online-installer-linux-x64-4.8.1.run ,所以默认路径是 /opt/Qt ,我这里直接都默认,然后下一步(Next)

在这里插入图片描述

大概10多分钟,安装完成,点击完成(Finish)

在这里插入图片描述

这会告诉你安装这些会占多少内存,如果你觉得多了可以点击返回(Back),返回到组件选择界面,重新勾选组件,如果没问题之间点击安装(Install),然后等待安装完成。

在这里插入图片描述


在这里插入图片描述

使用默认协议,然后勾上,下一步(Next)

在这里插入图片描述

第一次进来会看到可选择的 Qt 版本只有 Qt6 的,这与安装工具版本有关。想要旧版本的 Qt 需要把旁边的 Archive 勾上,然后点击筛选(Filter),它就会重新加载。

在这里插入图片描述


筛选后就会有更多的 Qt 版本,上面那个红色警告的意思是有些版本可能会有些已知的错误,这不用管。

在这里插入图片描述


然后就是选择组件,你可以参考我的(大概6G多),也可以按照自己的需求选择(勾的越多占的内存越多,如果你把 Android 勾上了,后续还要在自己配置环境)。不清楚也没关系,安装完成后还可以使用Maintenance Tool 添加和移除组件。点击下一步(Next)

在这里插入图片描述

3. 测试

双击文件目录树中的文件mainwindow.ui,出现如图所示的窗体设计界面。把 Label 拖入到界面中,输入文字,调整大小和位置,保存,然后点击运行按钮

在这里插入图片描述


效果如下图所示:

在这里插入图片描述

点击创建项目(Create Project)

在这里插入图片描述


选择桌面应用

在这里插入图片描述


自定义项目名称和路径

在这里插入图片描述


构建系统选择 qmake

在这里插入图片描述


然后一路下一步(Next),直到构建工具选择界面,选择桌面64位的

在这里插入图片描述


然后点击完成

在这里插入图片描述


在这里插入图片描述

点击左下角,会打开应用列表,找到 Qt Creator ,点击打开。

在这里插入图片描述

参考

qt 5.15 doc
Linux 系统(Ubuntu)下安装 Qt 环境_ubuntu安装qt-ZEEKLOG博客
QT5基础教程(介绍,下载,安装,第一个QT程序)_qt教程-ZEEKLOG博客
Qt:windows下Qt安装教程-ZEEKLOG博客
Qt:windows下Qt安装教程-ZEEKLOG博客
QT 5.15 最新安装指南(针对不同系统)_qt5.15安装-ZEEKLOG博客

如有其他问题,或者发现文章有错误,请在评论区留言
Keep learning!

Read more

Java Web开发基础与Servlet核心技术

Java Web开发基础与Servlet核心技术

Java Web开发基础与Servlet核心技术 15.1 学习目标与重点提示 学习目标:掌握Java Web开发的核心概念与Servlet技术的使用方法,包括Web应用的结构、Servlet的定义与使用、HTTP请求与响应的处理、会话管理、过滤器与监听器的使用,学会在实际开发中处理Web应用问题。 重点:Web应用的结构(目录结构、配置文件)、Servlet的定义与使用(Servlet接口、HttpServlet类、注解配置)、HTTP请求与响应的处理(Request、Response对象)、会话管理(Session、Cookie)、过滤器与监听器的使用、Web开发的实际应用场景。 15.2 Web开发概述 Java Web开发是用于处理Web应用的机制。 15.2.1 Web开发的定义 定义:Web开发是用于处理Web应用的机制。 作用: * 实现Web应用的开发。 * 实现客户端与服务器之间的通信。 * 实现动态网页的生成。 * 实现Web应用的部署与维护。 ✅ 结论:Web开发是用于处理Web应用的机制,作用是实现Web应用的开发、客户端与服务器之间的通

By Ne0inhk
Spring AI:Java 生态的 AI 赋能革命,企业级智能应用新标杆

Spring AI:Java 生态的 AI 赋能革命,企业级智能应用新标杆

目录 一、核心定位:不止是框架,更是生态连接器 二、核心架构与关键能力:简化复杂 AI 应用构建 1. 对话交互核心:ChatClient 2. 语义理解基础:EmbeddingClient 与 VectorStore 3. 提示工程利器:PromptTemplate 4. 1.1 版本核心突破 三、典型场景落地:赋能全行业智能升级 四、未来展望:Java 生态的 AI 普及之路 当生成式 AI 与大型语言模型(LLMs)重塑软件开发范式,如何让 AI 能力无缝融入成熟的企业级技术体系,成为全球开发者面临的核心命题。Spring AI 的横空出世,为 Java 生态带来了颠覆性解决方案 —— 它以

By Ne0inhk
JavaScript 中的精度丢失与分摊不平问题及解决方案

JavaScript 中的精度丢失与分摊不平问题及解决方案

文章目录 * 概述 * 一、问题现象:冰山一角下的“精度陷阱” * 二、根源探寻:IEEE 754 标准下的“先天缺陷” * 图解:为什么 `0.1` 无法被精确表示? * 三、错误方案:为什么 `toFixed` 和 `Math.round` 治标不治本? * 四、黄金法则:整数运算——以“分”为单位治本 * 1.算法详解:整数分摊法 * 五、代码实现:生产级 TypeScript 方案 * 六、扩展与思考 * 七、总结 概述 在前端开发中,尤其是涉及金额计算(如电商、财务系统)时,我们经常会遇到一个“

By Ne0inhk
JAVA 注解(Annotation):从原理到实战应用

JAVA 注解(Annotation):从原理到实战应用

JAVA 注解(Annotation):从原理到实战应用 1.1 本章学习目标与重点 💡 掌握注解的核心概念与分类,理解注解在Java开发中的核心价值。 💡 熟练使用JDK内置注解,掌握自定义注解的定义、解析与使用流程。 💡 掌握注解的元注解配置方式,理解不同元注解对自定义注解的约束作用。 💡 结合反射机制实现注解的实战应用,掌握注解在框架开发中的核心用法。 ⚠️ 本章重点是 自定义注解的开发流程 和 注解与反射结合的实战应用,这是Java高级开发与框架设计的必备技能。 1.2 注解的核心概念与价值 1.2.1 什么是注解 💡 注解(Annotation) 是Java 5引入的一种特殊标记,它可以在编译期、类加载期、运行时被读取,并执行相应的处理逻辑。注解本身不直接影响代码的执行逻辑,而是通过元数据的方式为程序提供额外信息,这些信息可以被编译器、虚拟机或自定义的注解处理器解析和使用。 注解的本质是一个继承了 java.lang.annotation.Annotation 接口的特殊接口,我们定义的每一个注解,最终都会被编译器生成对应的接口实现类,供程序在运行时

By Ne0inhk