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文件…...

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

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...