Ubuntu 20.04安装Qt 5.15(最新,超详细)
Ubuntu 20.04安装Qt 5.15
- 1. 准备
- 注册Qt账号
- 安装依赖
- 下载安装工具
- 2. 安装
- 3. 测试
- 参考
前言
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.13 | Ubuntu 16.04 |
Qt 5.12、Qt 5.13、Qt 5.14、Qt 5.15 | Ubuntu 18.04 |
Qt 5.15、Qt 6.0、Qt 6.1、Qt 6.2、Qt 6.3、Qt 6.4 | Ubuntu 20.04 |
Qt 6.5、Qt 6.6、Qt 6.8 | Ubuntu 22.04 |
Qt 6.8 | Ubuntu 24.04 |
我的配置如下:
虚拟机 Ubuntu 20.04 (运行内存 4G、硬盘内存 60G) 、Qt 5.15.2
1. 准备
注册Qt账号
由于使用安装工具必须要输入账号,所以安装之前要注册个账号。点击下面链接注册👇
Qt Account Login (国内邮箱都行)
安装依赖
sudo apt install gcc g++ make cmake build-essential libgl1-mesa-dev
sudo apt install libxcb-cursor0 libxcb-cursor-dev
sudo apt install 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 # 执行
安装界面的显示语言会跟随系统语言,我的系统语言是英文,所以界面是英文
-
输入注册的账号,点下一步(Next),等待登录
-
两个都勾上,然后点下一步(Next)
-
直接下一步(Next)
-
这是选择是否发送匿名数据给Qt官方,让他用来提升用户体验,直接勾 Disable,下一步(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)
-
第一次进来会看到可选择的 Qt 版本只有 Qt6 的,这与安装工具版本有关。想要旧版本的 Qt 需要把旁边的 Archive 勾上,然后点击筛选(Filter),它就会重新加载。
筛选后就会有更多的 Qt 版本,上面那个红色警告的意思是有些版本可能会有些已知的错误,这不用管。
然后就是选择组件,你可以参考我的(大概6G多),也可以按照自己的需求选择(勾的越多占的内存越多,如果你把 Android 勾上了,后续还要在自己配置环境)。不清楚也没关系,安装完成后还可以使用Maintenance Tool 添加和移除组件。点击下一步(Next)
-
使用默认协议,然后勾上,下一步(Next)
-
这会告诉你安装这些会占多少内存,如果你觉得多了可以点击返回(Back),返回到组件选择界面,重新勾选组件,如果没问题之间点击安装(Install),然后等待安装完成。
-
大概10多分钟,安装完成,点击完成(Finish)
3. 测试
- 点击左下角,会打开应用列表,找到 Qt Creator ,点击打开。
- 点击创建项目(Create Project)
选择桌面应用
自定义项目名称和路径
构建系统选择qmake
然后一路下一步(Next),直到构建工具选择界面,选择桌面64位的
然后点击完成
- 双击文件目录树中的文件mainwindow.ui,出现如图所示的窗体设计界面。把 Label 拖入到界面中,输入文字,调整大小和位置,保存,然后点击运行按钮
效果如下图所示:
参考
qt 5.15 doc
Linux 系统(Ubuntu)下安装 Qt 环境_ubuntu安装qt-CSDN博客
QT5基础教程(介绍,下载,安装,第一个QT程序)_qt教程-CSDN博客
Qt:windows下Qt安装教程-CSDN博客
Qt:windows下Qt安装教程-CSDN博客
QT 5.15 最新安装指南(针对不同系统)_qt5.15安装-CSDN博客
如有其他问题,或者发现文章有错误,请在评论区留言
Keep learning!
相关文章:

Ubuntu 20.04安装Qt 5.15(最新,超详细)
Ubuntu 20.04安装Qt 5.15 1. 准备注册Qt账号安装依赖下载安装工具 2. 安装3. 测试参考 前言 Qt 是一个跨平台的应用程序框架,它支持开发 C 图形用户界面应用程序。Qt 可以用于开发运行在多种操作系统上的应用程序,包括 Windows、Linux、macOS 和各种移动…...

桂林旅游一点通:SpringBoot平台应用
3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架,JAVA作…...

【WPF】04 Http消息处理类
这里引入微软官方提供的HttpClient类来实现我们的目的。 首先,介绍一下官方HttpClient类的内容。 HttpClient 类 定义 命名空间: System.Net.Http 程序集: System.Net.Http.dll Source: HttpClient.cs 提供一个类,用于从 URI 标识的资源发送 HTTP 请…...
如何精准设置线程数,提升系统性能的秘密武器!
线程数设定多少更合适? 线程数的设定需要根据任务的类型、系统资源、以及并发需求来进行权衡。设定合适的线程数可以有效提升系统的性能,但设置过多或过少都会影响程序的效率。以下是一些关键因素和计算方法,用于帮助确定最合适的线程数。 …...
正则表达式:从入门到精通
正则表达式(Regular Expression,简称 regex)是一种强大的文本匹配和处理工具。它可以用于搜索、替换、验证和提取文本中的特定模式。本文将带您深入了解正则表达式的各个方面,从基础知识到高级技巧。 1. 基础知识 1.1 什么是正则表达式? 正则表达式是由一系列字符和特殊…...

CRMEB标准版Mysql修改sql_mode
数据库配置 1.宝塔控制面板-软件商店-MySql-设置 2.点击配置修改,查找sql-mode或sql_mode (可使用CtrlF快捷查找) 3.复制 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 然后替换粘贴,保存 注:MySQL8.0版本的 第三步用…...

linux驱动访问的地址为虚拟地址
在Linux驱动程序中,访问的内存地址通常是虚拟地址。这是因为Linux操作系统采用了虚拟内存管理机制,所有的用户空间和内核空间的内存地址都是虚拟地址。下面是一些关键点,以帮助更好地理解这个概念: 虚拟地址与物理地址࿱…...

基于SpringBoot+Vue+uniapp微信小程序的社区门诊管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...

使用WPF写一个简单的开关控件
<Window x:Class"WPF练习.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/2008"xm…...

FPGA采集adc,IP核用法,AD驱动(上半部分)
未完结,明天补全 IP核:集成的一个现有的模块 串口写好后基本不会再修改串口模块内部的一些逻辑,将串口.v文件添加进来,之后通过他的上层的接口去对他进行使用,所以我们打包IP,之后就不用去添加源文件了&a…...
MongoDB 如何做mapreduce
以下是在MongoDB中使用MapReduce的详细步骤和相关说明: 1. MapReduce的概念 MapReduce是一种用于大规模数据处理的编程模型,它由两个主要阶段组成:Map阶段和Reduce阶段。在MongoDB中,MapReduce操作允许在服务器端对数据进行批量…...

Vue是一套构建用户界面的渐进式框架,常用于构建单页面应用
学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…...

c++ 桶排序(看这一篇就够了)
1. 概述 桶排序(Bucket Sort)又称箱排序,是一种比较常用的排序算法。其算法原理是将数组分到有限数量的桶里,再对每个桶分别排好序(可以是递归使用桶排序,也可以是使用其他排序算法将每个桶分别排好序&…...

格点拉格朗日插值与PME算法
技术背景 在前面的一篇博客中,我们介绍了拉格朗日插值法的基本由来和表示形式。这里我们要介绍一种拉格朗日插值法的应用场景:格点拉格朗日插值法。这种场景的优势在于,如果我们要对整个实数空间进行求和或者积分,计算量是随着变量…...

【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)
零.前置篇章 本篇前置文章为【LVGL快速入门(一)】LVGL开源框架入门教程之框架移植 一.UI设计 介绍使用之前,我们要学习一款LVGL官方的UI设计工具SquareLine Studio,使用图形化设计方式设计出我们想要的界面,然后生成对应源文件导入工程使用…...

jmeter中用csv data set config做参数化2
在jmeter中,使用csv data set config进行参数化是很重要的一个功能,但是这个功能的使用需要十分仔细和小心,因为细节之处往往决定着结果的正确与否。 举例: 一个登录接口用加密密码登录,一个登录接口用原始密码登录。…...
背包问题整理
1.01背包 题目描述 小明有一个容量为 V 的背包。 这天他去商场购物,商场一共有N 件物品,第 i 件物品的体积为 wi,价值为 vi。 小明想知道在购买的物品总体积不超过 V的情况下所能获得的最大价值为多少,请你帮他算算。 输入描述…...

基于Matlab车牌识别课程设计报告
Matlab车牌识别系统 分院(系) 信息科学与工程 专业 学生姓名 学号 设计题目 车牌识别系统设计 内容及要求: 车牌定位系统的目的在于正确获取整个图像中车牌的区域, 并识别出车牌号。通过设计实现车牌识别系…...

SSM框架实战小项目:打造高效用户管理系统 day3
前言 在前两篇博客中,后台已经搭建完毕,现在需要设计一下前端页面 webapp下的项目结构图 创建ftl文件夹,导入css和js 因为我们在后台的视图解析器中,设置了页面解析器,跳转路径为/ftl/*.ftl,所以需要ftl文件…...

一款现代化、可定制的跨平台文件浏览器,高颜值高效率的的管理神器!(附私活源码)
在如今这个注重效率的时代,我们每天都在与文件打交道。 但是,你有没有感觉到传统的文件管理器总是让人提不起劲?单调的外观,有限的功能,仿佛是上个世纪的产物。 一直以来,我都在寻找一款既颜值高又功能强…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...