一文详解QT环境搭建:ubuntu20.4安装配置Qt5

news2025/4/1 9:49:46

随着软件开发技术的不断进步,跨平台应用程序的需求日益增长,开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。Qt作为一个成熟的跨平台C++框架,在这方面提供了卓越的支持,不仅简化了GUI应用程序的创建过程,而且通过其丰富的库工具集,极大地提高了开发效率。
本文专为那些希望在Ubuntu平台上开始使用Qt5进行应用开发的新手而设计。这里我将详细介绍Qt的基本概念、安装步骤、环境配置以及如何创建一个简单的Qt项目。

一、Qt简介:

Qt 是一个跨平台的应用程序框架,主要用于开发图形用户界面(GUI)软件。它使用C++语言编写,并且提供了一套丰富的类库和工具来简化GUI应用程序的开发。除了GUI编程之外,Qt还支持网络通信数据库访问XML处理等多种功能,使得开发者能够创建复杂的企业级应用。

  • 跨平台:Qt允许一次编写代码,在多个操作系统上运行,包括Windows、macOS、Linux、Android、iOS以及嵌入式系统如QNX、VxWorks等。
  • 强大的GUI库:提供了大量的控件用于构建现代、响应式的用户界面,例如按钮、菜单、对话框、表格视图等。同时,也支持自定义控件以满足特定需求。
  • 信号与槽机制:这是Qt特有的面向对象通信机制,极大地简化了组件之间的交互逻辑。
  • 国际化支持:内置对多国语言的支持,方便制作多语言版本的应用程序。
  • 集成开发环境(IDE):Qt Creator是一个专门为Qt设计的IDE,它集成了编辑器、调试器、项目管理等功能,提高了开发效率。
  • 文档与社区资源丰富:官方文档详尽,社区活跃,遇到问题时容易找到解决方案。

二、安装前准备

  • 更换系统软件源
  • 准备编译相关依赖

2.1 系统软件源

安装好系统后,首先更换系统软件源:

打开左下角的九宫格按钮–>软件和更新(software & Updates)–>下载自(download from)–>其他(other)–>中国(China)–>mirrors.aliyun.com–>选择服务器(choose server)

更换阿里源

下载服务器

下载服务器

2.2 编译相关依赖

1. 安装gcc

判断gcc是否安装:gcc -v
判断gcc是否安装

没有安装的话,使用如下命令安装:

// 更新本地存储库索引
sudo apt-get update
// 安装gcc
sudo apt install gcc

2. 安装g++

判断g++是否安装:g++ -v
判断g++是否安装

没有安装的话,使用如下命令安装:

sudo apt install g++

3. 安装clang

判断clang是否安装:clang -v

判断clang是否安装

没有安装的话,使用如下命令安装:

sudo apt install clang

4. 安装clang++

判断clang++是否安装:clang++ -v

判断clang++是否安装

没有安装的话,使用如下命令安装:

sudo apt install clang++ 

5. 安装make

判断make是否安装:make -v

image.png

没有安装的话,使用如下命令安装:

sudo apt install make

6. 安装make-guile

使用如下命令安装:

sudo apt install make-guile

安装make-guile

7. 安装build-essential

使用如下命令安装:

sudo apt-get install build-essential

image.png

8. 安装最新版cmake

使用如下命令安装:

sudo snap install cmake --classic

安装最新版cmake

三、安装QT5

命令行安装配置QT5可使用如下命令:

// 若可用的话,使用如下命令:
sudo apt-get qt5-default
// 若以上命令不可用,使用如下命令(Qt相关开发工具):
sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
// 安装qtcreator
sudo apt-get install qtcreator
// 安装Qt5*
sudo apt-get install qt5*

完成以上命令后,则Qt5安装完毕。

sudo apt-get qt5-default

sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools

安装qtcreator

安装qt5*

四、创建并运行Qt5工程

完成安装后,可以通过搜索功能启动QtCreator集成开发环境,按照如下步骤创建工程:

选择Projects——>New——>Application——>Qt Widgets Application 创建项目。

启动QtCreator集成开发环境,并创建工程

填写要创建的项目名称,创建项目文件路径:

填写要创建的项目名称,创建项目文件路径

接下来,选择CMake作为构建系统。CMake是一种跨平台的编译系统生成器,能够简化多平台项目的构建过程。

选择CMake编译

配置编译环境:可参考我的下术截图,进行Qt编译环境的配置。

这里若无法找到Qt version,可使用如下命令查找qt5的安装位置:

sudo find / -name "qt5"

qt5相关依赖,一般位于/usr/lib/qt5

查找qt5的安装位置

最后,编译运行创建的项目,如果顺利弹出UI页面,则表明项目构建成功。

image.png

五、参考

Ubuntu命令行安装Qt5:
https://blog.csdn.net/m0_73450461/article/details/143316194

Ubuntu命令行安装Qt5:
https://blog.csdn.net/weixin_48560325/article/details/124373125

Ubuntu命令行安装Qt5:
https://blog.csdn.net/yanchenyu365/article/details/124396759

Ubuntu使用国内镜像以软件的形式安装Qt6:
https://blog.csdn.net/YMGogre/article/details/130565726

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

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

相关文章

【IDEA的个性化配置】

目录: 一:隐藏项目路径二:禁用斜体注释三:重新Maven构建未完待续... 一:隐藏项目路径 😊在IDEA左侧的Project目录中,项目名称后面显示了项目的文件路径地址,如果不喜欢可以隐藏&…

【Kafka】分布式消息队列的核心奥秘

文章目录 一、Kafka 的基石概念​主题(Topic)​分区(Partition)​生产者(Producer)​消费者(Consumer)​ 二、Kafka 的架构探秘​Broker 集群​副本机制​ 三、Kafka 的卓越特性​高…

自动化发布工具CI/CD实践Jenkins部署与配置教程

1. 前言背景 其实一直想把jenkins 的笔记整理下,介于公司这次升级jenkins2.0 ,根据自己部署的一些经验,我把它整理成笔记。 之前我们的jenkins1.0 时代 还一直停留在 free style 或者 maven 风格的项目,随着项目的日益增多&#x…

什么是SQL作业

SQL作业是在数据库服务器上按特定时间或间隔自动执行的计划任务或流程,这些作业由Microsoft SQL Server中的SQL Server代理管理,对于自动执行日常任务(如数据库系统中的备份、数据导入和报告生成)以及确保及时准确地处理和更新数据…

Android实践开发制作小猴子摘桃小游戏

Android实践制作小猴子摘桃小游戏 实践素材项目源文件获取:Android可能存在版本差异项目如果不能正确运行,可以使用里面的素材自己构建项目Android实践制作小猴子摘桃小游戏Android实践制作小猴子摘桃小游戏https://mp.weixin.qq.com/s/jNU_hVfj9xklsil…

springboot整合couchbase(集群)

springboot整合couchbase 1、Couchbase1.1、介绍1.2、Bucket1.3、Couchbase SDK 2、(key,value)写入couchbase集群2.1、总体图2.2、依赖2.3、CouchbaseConfig 配置文件2.4、代码使用 1、Couchbase 1.1、介绍 1.2、Bucket 在 Couchbase 中,bucket 是一个重要的概念…

VsCode启用右括号自动跳过(自动重写) - 自录制gif演示

VsCode启用右括号自动跳过(自动重写) - 自录制gif演示 前言 不知道大家在编程时候的按键习惯是怎样的。输入完左括号后编辑器一般会自动补全右括号&#xff0c;输入完左括号的内容后&#xff0c;是按→跳过右括号还是按)跳过右括号呢&#xff1f; for (int i 0; i < a.s…

[Linux]在vim中批量注释与批量取消注释

1.在vim中批量注释的步骤&#xff1a; 1.在normal模式下按Ctrl v &#xff0c;进入V-BLOCK模式 2.按 J 键 或 K 键选择要注释的内容&#xff0c;J向上K向下 我们给第5&#xff0c;6&#xff0c;7行进行注释 3.按住shift i进入插入模式&#xff0c;输入 // 4.点击ESC键&…

NC,GFS、ICON 数据气象信息可视化--降雨量的实现

随着气象数据的快速发展和应用&#xff0c;气象信息的可视化成为了一项不可或缺的技术手段。它不仅能帮助气象专家快速解读数据&#xff0c;还能为公众提供直观的天气预报信息。今天&#xff0c;我们将从降雨量的可视化出发&#xff0c;带大家一起了解如何实现气象数据的可视化…

LLM之RAG实战(五十二)| 如何使用混合搜索优化RAG 检索

在RAG项目中&#xff0c;大模型生成的参考内容&#xff08;专业术语称为块&#xff09;来自前一步的检索&#xff0c;检索的内容在很大程度上直接决定了生成的效果&#xff0c;因此检索对于RAG项目至关重要&#xff0c;最常用的检索方法是关键字搜索和语义搜索。本文将分别介绍…

[操作系统,学习记录]3.进程(2)

1.fork(); 玩法一&#xff1a;通过返回值if&#xff0c;else去执行不同的代码片段 玩法二&#xff1a;if&#xff0c;else然后调用execve函数去执行新的程序 2.进程终止&#xff1a; 退出码&#xff0c;子进程通过exit/return返回&#xff0c;父进程wait/waitpid等待而得&am…

26考研——排序_选择排序_选择排序的基本思想 简单选择排序(8)

408答疑 文章目录 四、选择排序选择排序的基本思想简单选择排序定义算法思想性能分析空间效率时间效率稳定性 适用性 九、参考资料鲍鱼科技课件26王道考研书 四、选择排序 选择排序的基本思想 每一趟&#xff08;如第 i i i 趟&#xff09;在剩下 n − i 1 n-i1 n−i1&…

PPT——组合SCI论文图片

SCI论文中对于图的排版常常是最头疼的事情&#xff0c;通常需要几个图组合在一起&#xff0c;并且如何控制图中的字体一致也是麻烦事。 保持这个大图里面的一致&#xff0c;转头一看跟其他图又不一致了。最近跟我的博导学了一手&#xff0c;今天就来记录一下吧。主要用到的软件…

Tabby 一:如何在Mac配置保姆级教程(本地模型替换hugging face下载)

1. brew安装 mac需要先安装brew&#xff0c;如果本地已经安装过brew这一步可以忽略&#xff0c;遇到问题可以自己ai问 /bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 可能遇到source .zprofile失败&#xff0c;因为…

CentOS 安装LAMP全过程 - 完整步骤与最佳实践

在开始搭建 LAMP 环境之前&#xff0c;需要确保系统已经满足以下条件&#xff1a; 1、操作系统&#xff1a;CentOS 7 或 CentOS 8 2、网络连接&#xff1a;系统必须能够访问互联网以下载所需的软件包 3、权限&#xff1a;需要 root 权限或者通过sudo 提权执行命令 先更新系…

基于DCT变换和Huffman编码的图像压缩解压缩算法matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 DCT变换 4.2 Huffman编码的数学原理 4.3 图像压缩流程 4.4 仿真测试指标 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a/matl…

Vue下 Sortable 实现 table 列表字段可拖拽排序,显示隐藏组件开发

vue 开发table 列表时&#xff0c;需要动态调整列字段的顺序和显示隐藏 实现效果如图所示&#xff1a; vue 组件代码 <template><div style"width: 90%; margin: 0 auto;"><el-table :data"tableData" border"" ref"table…

李飞飞、吴佳俊团队新作:FlowMo如何以零卷积、零对抗损失实现ImageNet重构新巅峰

目录 一、摘要 二、引言 三、相关工作 四、方法 基于扩散先前的离散标记化器利用广告 架构 阶段 1A&#xff1a;模式匹配预训练 阶段 1B&#xff1a;模式搜索后训练 采样 第二阶段&#xff1a;潜在生成建模 五、Coovally AI模型训练与应用平台 六、实验 主要结果 …

.js项目编译成.exe程序(交叉编译全过程整理)

1.前提: (这个文档有配套的视频解说教程,大家想看的话, 直接在 blibli搜索 , 尘埃落在星河湾 这个up主, 将vtk.js打包成.exe实录课程_哔哩哔哩_bilibili ) 先将下载库的环境搭建好: 打开编辑配置文件,下面代码依次执行 npm config edit registryhttps://registry.npmmirror.com…

OpenAI 推出图像生成新突破:GPT-4o 实现图像编辑对话化

关键要点 OpenAI 推出了 4o 图像生成功能&#xff0c;集成于 GPT-4o&#xff0c;提供精准且逼真的图像生成。 它似乎适用于多种用户&#xff0c;包括免费用户&#xff0c;API 访问预计几周内推出。 安全措施包括 C2PA 元数据和内容屏蔽&#xff0c;限制生成不适当图像。 研究…