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

随着软件开发技术的不断进步,跨平台应用程序的需求日益增长,开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。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.mzph.cn/pingmian/73773.shtml

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

相关文章

安全+低碳+高效:Acrel-3000助力企业打造未来型电能管理体系-安科瑞黄安南

一 背景 电能因为方便传输、易于转换、便于控制等特性,成为广大企事业单位生产、办公最主要的能量来源。双碳背景下,由于电能清洁、高效、零排放的特点,能源消费侧将逐步以电代煤、以电代油、以电代气,形成以电为中心的能源消费体…

Docker 安装 RabbitMQ

以下是在Docker中安装RabbitMQ并实现配置、数据、日志文件映射的完整步骤。 步骤 1:创建本地目录结构 # 创建配置、数据、日志目录 mkdir -p /root/docker/rabbitmq/{conf,data,logs}# 目录结构说明: # - conf: 存放自定义配置文件 # - data: 持久化存储…

SAP-ABAP:SAP数据集成全场景技术指南(BAPI、RFC、IDOC、BATCHJOB、ODATA、WEBSERVICE):从实时交互到批量处理

SAP数据集成全场景技术指南:从实时交互到批量处理 #mermaid-svg-hpPMerJYUerla0BJ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hpPMerJYUerla0BJ .error-icon{fill:#552222;}#mermaid-svg-hpPMerJYUerla0BJ .er…

运维规则之总结(Summary of Operation and Maintenance Rules)

运维规则之总结 在运维领域,经验和流程往往决定了系统的稳定性与可靠性。一个运维人,总结出了以下10条运维规则,涵盖了从基础管理到高级策略的全面内容,旨在帮助运维人员更好地应对各种挑战,确保系统的平稳运行。 1.…

⑦(ACG-网络配置)

网络配置是指对计算机网络的各种参数进行设置和调整,以实现网络正常运行和高效通信。网络配置包括多方面的内容,常见的配置包括: 1. IP地址设置:IP地址是设备在网络中的身份标识,设置IP地址是网络配置的基础&#xff…

Redis学习二

Redis和数据库数据一致性问题 Redis作为缓存分两种情形 只读缓存, 只读缓存无需考虑数据更新问题, Redis中有则返回Redis中的数据, Redis无则查询数据库读写缓存 同步直写策略异步缓写策略 数据读取流程: 正常回写Redis代码流程: public Object getDataById(String id) {…

深入理解 Linux 文件权限:从 ACL 到扩展属性,解剖底层技术细节与命令应用

Linux 以其强大而精密的文件权限和属性管理机制著称,这一体系不仅是系统安全的关键基石,还为灵活性和扩展性提供了坚实支撑。从传统的九位权限模型到访问控制列表(ACL)、扩展文件属性(Extended Attributes)…

剑指Offer35- - 链表

1. 题目描述 这题题意感觉说的不是很清楚,容易让人产生歧义!其实题意很简单,给你一个链表 head,你深拷贝它,然后返回即可,注意不能修改原链表 /* // Definition for a Node. class Node { public:int val;N…

C 语言常用关键字详解:static、const、volatile

C 语言常用关键字详解:static、const、volatile 文章目录 C 语言常用关键字详解:static、const、volatile1. static 关键字1.1 用于局部变量示例: 1.2 用于全局变量示例: 1.3 用于函数示例: 2. const 关键字2.1 用于局…

Centos7本地部署阿里Qwen2-7B模型

1.从hagging face下载模型 2.把下载的模型文件,放到/usr/local/Qwen2-7B目录下 3.创建虚拟环境,安装依赖 1.环境安装 sudo yum update -y sudo yum install -y python3 python3-pip git 2.创建虚拟环境并激活 python3 -m venv qwen2_env source qwen2_…

群晖监控套件通过ONVIF协议添加海康摄像头

1. 首先登录录像机 通道管理 找到每个摄像头的IP地址 2. 登录某个摄像头 配置 3. 添加用户名(注意不能是admin) 设置账户密码 用户类型选管理员 4. 群晖里面添加摄像头,自动搜索,添加刚刚那个IP的摄像头 5. 验证…

【C++】 —— 笔试刷题day_8

一、求最小公倍数 题目解析 题目很简单,给定两个数a和b求它们的最小公倍数。 算法思路 对于求两个数的最小公倍数问题,想必已经非常熟悉了; 在之前学校上课时,记得老师提起过,最小公倍数 两个数的乘积 除以最大公约数…

MTK Android12-Android13 设置系统默认语言

Android 系统,默认语言 文章目录 需求:场景 参考资料实现方案实现思路编译脚本熟悉-平台熟悉mssi_64_cnkernel-4.19 解决方案修改文件-实现方案 源码分析PRODUCT_LOCALES 引用PRODUCT_DEFAULT_LOCALE 定义get-default-product-locale 方法定义PRODUCT_DE…

系统如何查找文件?inode号又是什么?

下面分别详细解释您提到的三个问题: “文件系统怎么定位文件”、“inode 是什么”、“为什么删除后还可能被占用”。 一、文件系统怎么定位文件 1.1 目录与文件名并不直接存储文件数据 在常见的 Unix/Linux 文件系统(如 ext4、xfs)或类似的…

05-SpringBoot3入门-整合SpringMVC(配置静态资源、拦截器)

1、说明 在01-SpringBoot3入门-第一个项目-CSDN博客中,其实就已经整合了SpringMVC。下面讲解怎么配置静态资源和拦截器 2、配置静态资源 命名:static(文件夹) 位置:src/main/resources 编写一个html文件 访问 http:/…

Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测

聚划算!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测 目录 聚划算!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 聚划算!Tran…

树莓派浏览器配置全解析:从轻量系统到网页应用平台

树莓派(Raspberry Pi)不仅是嵌入式开发的入门利器,也因其低成本和强大的社区支持而成为物联网、数字标牌、教育培训等领域的热门平台。在很多应用中,运行一个浏览器并作为 Web 前端展示、操作或交互的能力显得尤为关键。 但在资源…

初识Qt(一)

本文部分ppt、视频截图原链接:萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频 1. Qt是什么? Qt是一个跨平台的C应用程序开发框架,它既为图形用户界面(GUI)程序开发提供了强大支持,也能用于开发非GUI的控制台程序、服务端…

六十天前端强化训练之第三十二天之Babel 转译配置大师级深度讲解

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗,谢谢大佬! 目录 一、核心概念与知识体系详解 1. Babel 工作原理全景解析 二、完整配置方案(带详细注释) 1. 进阶版 .babelrc 配置 2. Webpack 集成配置&#xff08…

智能提示词生成器:助力测试工程师快速设计高质量测试用例

在软件测试中,测试用例设计方法的选择和实施是确保软件质量的重要步骤。测试工程师经常需要根据不同的测试场景、参数维度和业务需求,设计出覆盖率高且有效的测试用例。然而,设计测试用例并非易事,特别是在面对复杂的业务逻辑时。 为了帮助测试工程师高效生成测试用例提示…